Android实例-手机安全卫士(八)-自定义组合控件事件相应和改变状态
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Android实例-手机安全卫士(八)-自定义组合控件事件相应和改变状态,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2471字,纯文字阅读大概需要4分钟。
内容图文
一、目标。
实现自定义控件点击事件响应和内容状态变化。
1、点击自定义控件内的任何区域时,CheckBox状态均会变化。
2、自定义控件里面的内容会根据CheckBox的状态进行改变。
效果图1:
二、代码实现。
1、在自定义控件类(SettingItemView)中增加方法。
①.在自定义控件类对应的xml文件(SettingItemView)中设置各个控件的id,便于自定义控件类(SettingItemView)对它们进行操作。同时,设置CheckBox的clickable属性为false,这是为了让CheckBox失去可点击的属性。因为,CheckBox的点击事件相应比其他控件都高,所以当设置完成自定义控件点击事件后,点击自定义控件除CheckBox外的其他区域时,CheckBox状态和TextView内容都会改变,但特意点击CheckBox区域时,CheckBox状态会改变而TextView中的内容不会改变。
②.在自定义控件类(SettingItemView)的iniView方法中,通过this.findViewById(int id)方法找到自定义控件类对应的xml文件(SettingItemView)中的相应的三个控件。因为xml布局文件(SettingItemView)已经通过inflate方法装载至SettingItemView类中,所以可以采用this.find...方法。
代码:
1 setting_update_checkbox = (CheckBox) this.findViewById(R.id.setting_update_checkbox); 2 setting_update_title = (TextView) this.findViewById(R.id.setting_update_title); 3 setting_update_content = (TextView) this.findViewById(R.id.setting_update_content);
③.在自定义控件类(SettingItemView)中新建boolean类型的方法(取名isChecked),用于判断自定义控件中的CheckBox是否被选中。该方法较简单,只需返回CheckBox的isChecked()方法即可。
代码如下:
1 public boolean isChecked(){ 2 return setting_update_checkbox.isChecked(); 3 }
④.在自定义控件类(SettingItemView)中新建无返回值(void)的方法(取名setChecked(boolean checked)),参数为boolean checked,用于设置组合控件中CheckBox的状态。
代码如下:
1 public void setChecked(boolean checked){ 2 setting_update_checkbox.setChecked(checked); 3 }
⑤.在自定义控件类(SettingItemView)中新建无返回值(void)的方法(取名setContent(String text)),用于改变组合控件中相应文本控件的内容,传入String类型的参数作为新文本内容。
代码:
1 public void setContent(String text){ 2 setting_update_content.setText(text); 3 }
2、在”设置中心“界面(SettingActivity)代码中。
①.创建自定义控件类(SettingItemView)的对象(取名siv_update),并通过findViewById方法找到”设置中心“界面(SettingActivity)布局文件(activity_setting.xml)中的SettingItemView控件。
②.为自定义控件类(SettingItemView)的对象(siv_update)设置setOnClickListener()方法,并在参数中new出OnClickListener()方法,自动复写onClick方法。在onClick方法中采用if...else..语句判断自定义控件对象(siv_update)是否被选中,判断条件为siv_update.isChecked()。如果siv_update被选中,则调用自定义控件对象(siv_update)的setChecked(false)方法并传入false,以取消选中,同时调用自定义控件对象(siv_update)的setContent(text)方法并传入想要写的文本(禁止软件联网时自动更新)。反之同样处理。
自定义控件设置点击事件监听器的代码如下:
1 siv_update.setOnClickListener(new OnClickListener() { 2 3 @Override 4publicvoid onClick(View v) { 5//已经开启了自动升级 6if(siv_update.isChecked()){ 7 siv_update.setChecked(false); 8 siv_update.setContent("禁止软件联网时自动更新"); 9 }else { 10//未开启自动升级11 siv_update.setChecked(true); 12 siv_update.setContent("允许软件联网时自动更新"); 13 } 14 } 15 });
原文:http://www.cnblogs.com/Red-Shark/p/4242987.html
内容总结
以上是互联网集市为您收集整理的Android实例-手机安全卫士(八)-自定义组合控件事件相应和改变状态全部内容,希望文章能够帮你解决Android实例-手机安全卫士(八)-自定义组合控件事件相应和改变状态所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。