在我的片段,我有以下代碼:setOnCheckedChangeListener沒有發射
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
Routes_Checkbox_Pickup.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
Routes_EditText_AlarmPickup.setEnabled(isChecked);
Routes_Spinner_Pickup_Routes.setEnabled(isChecked);
Routes_Spinner_Pickup_TrackingLocations.setEnabled(isChecked);
if(isChecked==true)
Routes_EditText_AlarmPickup.requestFocus();
}
});
Routes_Checkbox_Drop.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
Routes_EditText_AlarmDrop.setEnabled(isChecked);
Routes_Spinner_Drop_Routes.setEnabled(isChecked);
Routes_Spinner_Drop_TrackingLocations.setEnabled(isChecked);
if(isChecked==true)
Routes_EditText_AlarmDrop.requestFocus();
}
});
}
在一個按鈕點擊我有以下代碼:
Routes_Checkbox_Pickup.setChecked(false);
但是上面的代碼不會觸發上面設置的事件。怎麼了 ?
編輯
全碼:
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.routes_fragment, container, false);
Routes_Checkbox_Pickup = (CheckBox) view.findViewById(R.id.Routes_Checkbox_Pickup);
Routes_Spinner_Pickup_Routes = (Spinner) view.findViewById(R.id.Routes_Spinner_Pickup_Routes);
Routes_TextInputLayout_AlarmPickup = (TextInputLayout) view.findViewById(R.id.Routes_TextInputLayout_AlarmPickup);
Routes_EditText_AlarmPickup = (EditText) view.findViewById(R.id.Routes_EditText_AlarmPickup);
Routes_Spinner_Pickup_TrackingLocations = (Spinner) view.findViewById(R.id.Routes_Spinner_Pickup_TrackingLocations);
Routes_Checkbox_Drop = (CheckBox) view.findViewById(R.id.Routes_Checkbox_Drop);
Routes_Spinner_Drop_Routes = (Spinner) view.findViewById(R.id.Routes_Spinner_Drop_Routes);
Routes_TextInputLayout_AlarmDrop = (TextInputLayout) view.findViewById(R.id.Routes_TextInputLayout_AlarmDrop);
Routes_EditText_AlarmDrop = (EditText) view.findViewById(R.id.Routes_EditText_AlarmDrop);
Routes_Spinner_Drop_TrackingLocations = (Spinner) view.findViewById(R.id.Routes_Spinner_Drop_TrackingLocations);
Routes_Button_Save = (Button) view.findViewById(R.id.Routes_Button_Save);
Routes_Button_Save.setBackgroundResource(R.drawable.button_enabled);
Routes_EditText_AlarmPickup.setSingleLine(true);
Routes_EditText_AlarmDrop.setSingleLine(true);
Routes_Checkbox_Pickup.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
Routes_EditText_AlarmPickup.setEnabled(isChecked);
Routes_Spinner_Pickup_Routes.setEnabled(isChecked);
Routes_Spinner_Pickup_TrackingLocations.setEnabled(isChecked);
if(isChecked==true)
Routes_EditText_AlarmPickup.requestFocus();
}
});
Routes_Checkbox_Drop.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
Routes_EditText_AlarmDrop.setEnabled(isChecked);
Routes_Spinner_Drop_Routes.setEnabled(isChecked);
Routes_Spinner_Drop_TrackingLocations.setEnabled(isChecked);
if(isChecked==true)
Routes_EditText_AlarmDrop.requestFocus();
}
});
}
你能告訴你的片段的整個代碼? – Marat
你在哪裏初始化'Routes_Checkbox_Pickup',因爲我沒有看到任何視圖在onCreateView中膨脹,我覺得你的代碼比預期的要複雜得多。所以我想完整的代碼可以幫助更好 –
我已經發布了代碼。 –