我在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"/>
这是我尝试的以下代码,但它只会导致它崩溃.
CheckBox checkBox1 = (CheckBox) findViewById(R.id.checkBox1); Button termsOfAgreement = (Button) checkBox2.getText(); .... termsOfAgreement.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { //Launch activity } });
解决方法
getText()不是一个按钮,它是一个字符串,因此您无法将其强制转换为按钮.
你最好不要为复选框设置文本,只需使用常规文本视图旁边的复选框并在文本上放置一个监听器.
然后,您必须在单击文本时管理复选框.所以你有2个点击监听器,一个用于复选框,一个用于textview