作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在我的 xml 文件中创建了一个复选框。我试图在复选框的文本上设置一个 onClickListener 但是我没有找到真正的解决方案。换句话说,我希望能够单击复选框(使复选框可选)以及单击文本以打开带有协议(protocol)条款的新 Activity 。谢谢。
主.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()
不是按钮,它是一个字符串,因此您不能将它转换为按钮。
最好不要为复选框设置文本,而只是在复选框旁边使用常规 TextView ,并在文本上放置一个监听器。
那么当文本被点击时你必须管理复选框。所以你会有 2 个点击监听器,一个用于复选框,一个用于 TextView
关于android - 在复选框文本上设置 onClickListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19368106/
我是一名优秀的程序员,十分优秀!