在CheckBox文本上设置onClickListener

Cha*_*ted 6 checkbox android onclicklistener

我在xml文件中创建了一个checkBox.我试图在checkBox的文本上设置onClickListener但是我找不到真正的解决方案.换句话说,我希望能够单击复选框(使复选框可选)以及单击文本以使用协议期限打开新活动.谢谢.

main.xml中

 <CheckBox
    android:id="@+id/checkBox1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="I agree to the Terms of Agreement."
    android:textColor="#CC000000"
    android:checked="true"/>
Run Code Online (Sandbox Code Playgroud)

这是我尝试的以下代码,但它只会导致它崩溃.

CheckBox checkBox1 = (CheckBox) findViewById(R.id.checkBox1);
Button termsOfAgreement = (Button) checkBox2.getText();

 ....

termsOfAgreement.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View v) {
             //Launch activity
        }           
    });
Run Code Online (Sandbox Code Playgroud)

tyc*_*czj 5

getText() 不是按钮,而是字符串,因此您无法将其强制转换为按钮。

您最好不要为复选框设置文本,而只是在to复选框旁边使用常规textview并将侦听器放在文本上。

那么您必须在单击文本时管理复选框。因此您将拥有2个点击监听器,一个用于复选框,另一个用于textview