OnCheckedChanged无法在Android中工作
Hi在片段中,使用OnCheckedChanged获取checkbox的值,但它不起作用,就像我选中复选框时连调用方法都不起作用一样。下面是如何实现它的代码 如何使用复选框的XML文件OnCheckedChanged无法在Android中工作,android,performance,android-fragments,android-xml,android-checkbox,Android,Performance,Android Fragments,Android Xml,Android Checkbox,Hi在片段中,使用OnCheckedChanged获取checkbox的值,但它不起作用,就像我选中复选框时连调用方法都不起作用一样。下面是如何实现它的代码 如何使用复选框的XML文件 <CheckBox android:id="@+id/cbDefault" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="
<CheckBox
android:id="@+id/cbDefault"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".2" />
}将您的
onCreateView
方法修改到下面,并检查记录的代码
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View profView = inflater.inflate(R.layout.intermediate_screen,
container, false);
// Initialize your checkbox
Checkbox mChkbx=(Checkbox)profView.findViewById(R.id.cbDefault);
// Assign listener to the checkbox
mChkbx.setOnCheckedChangeListener(this);
defaultIdText = (EditText) profView.findViewById(R.id.etDefault);
customText = (EditText) profView.findViewById(R.id.etCustom);
randomText = (EditText) profView.findViewById(R.id.etUname);
phoneText = (EditText) profView.findViewById(R.id.etPhoneNumber);
return profView;
}
将您的
onCreateView
方法修改到下面,并检查文档化的代码
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View profView = inflater.inflate(R.layout.intermediate_screen,
container, false);
// Initialize your checkbox
Checkbox mChkbx=(Checkbox)profView.findViewById(R.id.cbDefault);
// Assign listener to the checkbox
mChkbx.setOnCheckedChangeListener(this);
defaultIdText = (EditText) profView.findViewById(R.id.etDefault);
customText = (EditText) profView.findViewById(R.id.etCustom);
randomText = (EditText) profView.findViewById(R.id.etUname);
phoneText = (EditText) profView.findViewById(R.id.etPhoneNumber);
return profView;
}
您没有在代码中映射复选框。请尝试执行此操作
Checkbox mCb=(Checkbox)profView.findViewById(R.id.cbDefault);
mCb.setOnCheckedChangeListener(this);
必须在checkedChangeListener上实现接口。您没有在代码中映射复选框。请尝试执行此操作
Checkbox mCb=(Checkbox)profView.findViewById(R.id.cbDefault);
mCb.setOnCheckedChangeListener(this);
必须在CheckedChangeListener上实现接口
首先,我们需要实现android.widget.CompoundButton.OnCheckedChangeListener,请参见此示例
}
首先,我们需要实现android.widget.CompoundButton.OnCheckedChangeListener,请参见此示例
}
将setOnCheckedChangeListener设置为内部类
@MD我有四个复选框。那么,是检查切换情况还是一种优化的方法,而不是使用上面链接中给出的方法呢?我的问题是Android数据绑定覆盖了我的检查更改侦听器。所以我删除了android:checked=“@={}
绑定。可能在2015年不适用。将setOnCheckedChangeListener设置为一个内部类
@MD我有四个复选框。检查是否转到开关大小写或优化方法,而不是使用上面链接中给出的方法。我的问题是Android数据绑定覆盖了我的检查更改侦听器。因此我删除了Android:checked=“@={}
绑定。可能在2015年不适用。我得到以下错误。类型CompoundButton中的方法setOnCheckedChangeListener(CompoundButton.OnCheckedChangeListener)不适用于参数(活动),因为我收到以下错误。类型CompoundButton中的方法setOnCheckedChangeListener(CompoundButton.OnCheckedChangeListener)不适用于参数(活动)我认为setOnCheckedChangeListener
不应该用getActivity
调用,而应该用ProfileFrag调用。这是因为这个类实现了OnCheckedChangeListener
(而不是父活动)@GaëtanMaisse感谢您的更正,我已经更新了答案。我认为setoncheckedchangedlistener
不应该用getActivity
调用,而应该用ProfileFrag调用。这个
是因为这个类实现了oncheckedchangedlistener
(而不是父活动)@GaëtanMaisse感谢您的更正,我已经更新了答案。