Android 中CheckBox的isChecked的使用实例详解

时间:2021-05-21

Android 中CheckBox的isChecked的使用实例详解

范例说明

所有的网络服务在User使用之前,都需要签署同意条款,在手机应用程序、手机游戏的设计经验中,常看见CheckBox在同意条款情境的运用,其选取的状态有两种即isChecked=true与isChecked=false。

以下范例将设计一个TextView放入条款文字,在下方配置一个CheckBox Widget作为选取项,通过Button.onClickListener按钮事件处理,取得User同意条款的状态。

当CheckBox.isChecked为true,更改TextView的文字内容为“你已接受同意!!”,当未选取CheckBox时,Button则不可以被选择的(被Disabled)。

范例程序

src/irdc.ex04_04/EX04_04.java

利用CheckBox.OnClickListener里的事件来判断Button该不该显示,其方法就是判断Button.Enabled的值;在一开始时,默认参数为false,当有单击CheckBox时,Button参数就修改为true。

public class EX04_04 extends Activity{ /** Called when the activity is first created. */ public TextView myTextView1; public TextView myTextView2; public CheckBox myCheckBox; public Button myButton; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); myTextView1 = (TextView) findViewById(R.id.myTextView1); myTextView2 = (TextView) findViewById(R.id.myTextView2); myCheckBox = (CheckBox) findViewById(R.id.myCheckBox); myButton = (Button) findViewById(R.id.myButton); myCheckBox.setChecked(false); myButton.setEnabled(false); myCheckBox.setOnClickListener(new CheckBox.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub if(myCheckBox.isChecked()) { myButton.setEnabled(true); myTextView2.setText(""); } else { myButton.setEnabled(false); myTextView1.setText(R.string.text1); myTextView2.setText(R.string.no); } } }); myButton.setOnClickListener(new Button.OnClickListener() { // 程序略 }); }}

扩展学习

CheckBox在默认内容为空白时(没有任何默认的提示文字下),可设置提示User的文字,其调用的方法为CheckBox.setHint()方法;在扩展学习的范例练习,是抓取R.string.hello这个字符串常数,其与默认CheckBox文字的结果是相同的,你不妨试试看。

myTextView1 = (TextView) findViewById(R.id.myTextView1);myTextView2 = (TextView) findViewById(R.id.myTextView2);myCheckBox = (CheckBox) findViewById(R.id.myCheckBox);myButton = (Button) findViewById(R.id.myButton);myCheckBox.setChecked(false); CharSequence hint = getString(R.string.hello);myCheckBox.setHint(hint); myCheckBox.setHintTextColor(Color.RED);

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章