Android CheckBox onClickListener不起作用

Art*_*tem 2 checkbox android

可能是这个重复的问题,但我没有找到答案.

ClickListenerCheckBox不行.

这个xml:

<CheckBox
            android:id="@+id/checkbox_visibility"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="@dimen/mat_card_padding"/>
Run Code Online (Sandbox Code Playgroud)

来自Activity的代码:

        mVisibilityCheckBox = (CheckBox) findViewById(R.id.checkbox_visibility);
        mVisibilityCheckBox.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    // this method doesn't call
                    Toast.makeText(SettingsActivity.this, "isChecked - " + mVisibilityCheckBox.isChecked(), Toast.LENGTH_SHORT).show();
                }
            });
Run Code Online (Sandbox Code Playgroud)

UPD我从答案添加代码 - 但这对我不起作用(

mVisibilityCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            if (isChecked) {
                // this doesn't work
                Toast.makeText(SettingsActivity.this, "isChecked - " + mVisibilityCheckBox.isChecked(), Toast.LENGTH_SHORT).show();
            }

        }
    });
Run Code Online (Sandbox Code Playgroud)

Kas*_*haj 6

mVisibilityCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener()
{
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
    {
        if ( isChecked )
        {
            // perform logic
           Toast.makeText(SettingsActivity.this, "isChecked - " + mVisibilityCheckBox.isChecked(), Toast.LENGTH_SHORT).show();
        }

    }
});
Run Code Online (Sandbox Code Playgroud)

  • 你可以上传xml couse这应该工作正常 (2认同)
  • 尝试使用这个mVisibilityCheckBox.setOnCheckedChangeListener(新CompoundButton.OnCheckedChangeListener(){@覆盖公共无效onCheckedChanged(CompoundButton buttonView,布尔器isChecked){}}); (2认同)
  • 检查现在代码是不同我添加新的CompoundButton.OnCheckedChangeListener()只是OnCheckedChangeListener() (2认同)