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。
/* import程序略 */ public class EX04_04 extends Activity { /** Called when the activity is first created. */ /*声明 TextView、CheckBox、Button对象*/ 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); /*取得TextView、CheckBox、Button*/ myTextView1 = (TextView) findViewById(R.id.myTextView1); myTextView2 = (TextView) findViewById(R.id.myTextView2); myCheckBox = (CheckBox) findViewById(R.id.myCheckBox); myButton = (Button) findViewById(R.id.myButton); /*将CheckBox、Button默认为未选择状态*/ 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()) { /*设置Button为不能选择对象*/ myButton.setEnabled(true); myTextView2.setText(""); } else { /*设置Button为可以选择对象*/ myButton.setEnabled(false); myTextView1.setText(R.string.text1); /*在TextView2里显示出"请勾选我同意"*/ 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); /*利用setHIT抓取strings里面的值*/ CharSequence hint = getString(R.string.hello); myCheckBox.setHint(hint); /*设置文字颜色*/ myCheckBox.setHintTextColor(Color.RED);
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!