Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OnCheckedChanged无法在Android中工作_Android_Performance_Android Fragments_Android Xml_Android Checkbox - Fatal编程技术网

OnCheckedChanged无法在Android中工作

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="

Hi在片段中,使用OnCheckedChanged获取checkbox的值,但它不起作用,就像我选中复选框时连调用方法都不起作用一样。下面是如何实现它的代码

如何使用复选框的XML文件

     <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感谢您的更正,我已经更新了答案。