在android中没有以编程方式启用复选框

时间:2014-06-06 19:24:42

标签: android android-checkbox

我在做什么 :: 我有一个复选框和一个按钮 点击按钮,我试图启用复选框

发生了什么 :: 复选框未启用onclick

问题 :: 我该如何解决我的问题 有没有不同的方法来解决这个问题


MainActivity.java

public class MainActivity extends Activity {

    Button button1;
    CheckBox checkBox1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        button1=(Button) findViewById(R.id.button1);
        checkBox1=(CheckBox) findViewById(R.id.checkBox1);

        button1.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {

                checkBox1.setEnabled(true);
            }
        });
    }
}

activity_main.xml中

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <CheckBox
        android:id="@+id/checkBox1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:checked="false"
        android:layout_marginTop="54dp"/>

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/checkBox1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="67dp"
        android:text="Button" />

</RelativeLayout>

2 个答案:

答案 0 :(得分:2)

尝试使用以下代码替换onClick代码:

button1.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        checkBox1.setChecked(true);
    }
});

我相信您正在寻找setChecked(),而不是setEnabled()

答案 1 :(得分:0)

使用checkBox.setChecked()方法:

checkBox.setChecked(true);