Android:为控件绑定监听器
为控件绑定监听器主要分为以下步骤:
1、获取代表控件的对象
2、定义一个类,实现监听器接口
3、生成监听器对象
4、为控件绑定监听器对象
实例:Button按钮----监听器OnClickListener
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#ff0000"
android:text="I am one"
/> <Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="button"/>
....
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView =(TextView)findViewById(R.id.textView);
textView.setText("set text success");
//获取代表控件的对象
button =(Button)findViewById(R.id.button);
//生成监听器对象
ButtonListener buttonListener =new ButtonListener();
//为控件绑定监听器对象
button.setOnClickListener(buttonListener);
} //定义监听类,实现监听器接口
class ButtonListener implements OnClickListener{ @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
textView.setText("onclick ok");
} }
实例: CheckBox复选框----监听器OnCheckedChangeListener
<CheckBox
android:id="@+id/eat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="吃饭"
/>
....
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.linelayout);
//获取代表控件的对象
eatbox = (CheckBox)findViewById(R.id.eat);
//生成监听器对象
CheckBoxListener checkBoxListener = new CheckBoxListener();
//为控件绑定监听器对象
eatbox.setOnCheckedChangeListener(checkBoxListener);
}
//定义监听类,实现监听器接口
class CheckBoxListener implements OnCheckedChangeListener{ @Override
public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
//第一参数为CheckBox对象,第二参数为是否选中
if(arg0.getId()==R.id.eat){
System.out.println("eat");
}
if(arg1){
System.out.println("oncheck");
}
} }
实例:Radio 单选按钮 ----监听器OnCheckedChangeListener
<RadioGroup
android:id="@+id/sex"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<RadioButton
android:id="@+id/femal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女"
/>
<RadioButton
android:id="@+id/mal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男"
/>
</RadioGroup>
...
private RadioGroup radioGroup;
private RadioButton radiofemal;
private RadioButton radiomal;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //获取代表控件的对象
radioGroup = (RadioGroup)findViewById(R.id.radioGroup);
radiofemal = (RadioButton)findViewById(R.id.radiofemal);
radiomal = (RadioButton)findViewById(R.id.radiomal); //生成监听器对象
RadioGroupListener listener = new RadioGroupListener();
//为控件绑定监听器对象
radioGroup.setOnCheckedChangeListener(listener);
} //定义监听类,实现监听器接口
class RadioGroupListener implements OnCheckedChangeListener{ @Override
public void onCheckedChanged(RadioGroup arg0, int arg1) {
// 参数一:哪个radiogroup,第二个哪个radiobutton
if(arg1 == radiofemal.getId()){
System.out.println("选择了femal");
}else{
System.out.println("选择了mal");
}
} }
OnCheckedChangeListener在两个包内都有,使用的时候需要注意下,
android.widget.RadioGroup.OnCheckedChangeListener;
class RadioGroupListener implements OnCheckedChangeListener{
@Override
public void onCheckedChanged(RadioGroup arg0, int arg1) {
// TODO Auto-generated method stub
}
}
android.widget.CompoundButton.OnCheckedChangeListener;
class RadioButtonListener implements android.widget.CompoundButton.OnCheckedChangeListener{
@Override
public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
// TODO Auto-generated method stub
}
}
Android:为控件绑定监听器的更多相关文章
- android 基础控件(EditView、SeekBar等)的属性及使用方法
android提供了大量的UI控件,本文将介绍TextView.ImageView.Button.EditView.ProgressBar.SeekBar.ScrollView.WebView ...
- 【Android开发日记】之入门篇(十三)——Android的控件解析
Android的控件都派生自android.view.View类,在android.widget包中定义了大量的系统控件供开发者使用,开发者也可以从View类及其子类中,派生出自定义的控件. 一.An ...
- Android 开源控件与常用开发框架开发工具类
Android的加载动画AVLoadingIndicatorView 项目地址: https://github.com/81813780/AVLoadingIndicatorView 首先,在 bui ...
- ASP.NET中的chart控件绑定SQL Server数据库
网上很多的chart控件的实例都没有绑定数据库,经过一番摸索后,终于实现了chart控件绑定数据库. 首先,在Visual Studio中建立一个网站,新建一个WebForm项目,名称为ChartTe ...
- CYQ.Data 支持WPF相关的数据控件绑定(2013-08-09)
事件的结果 经过多天的思考及忙碌的开发及测试,CYQ.Data 终于在UI上全面支持WPF,至此,CYQ.Data 已经可以方便支持wpf的开发,同时,框架仍保留最低.net framework2.0 ...
- 关于vue.js中表单控件绑定练习
html: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8 ...
- Devexpress TreeList控件绑定显示父子节点对像
今天一位同事咨询Devexpress TreeList控件绑定自动显示父子节点对像,但结果是不会显示带父子节点关系,而是将所有的节点作为父节点显示出来了,对像类的代码如下 public class I ...
- Silverlight项目笔记5:Oracle归档模式引起的异常&&表格控件绑定按钮
1.Oracle归档模式产生日志文件引起数据库异常 连接数据库失败,提示监听错误,各种检查监听配置文件,删除再添加监听,无果. sqlplus下重启数据库数据库依然无果,期间碰到多个错误提示: ORA ...
- c#中DropDownList控件绑定枚举数据
c# asp.net 中DropDownList控件绑定枚举数据 1.枚举(enum)代码: private enum heros { 德玛 = , 皇子 = , 大头 = , 剑圣 = , } 如果 ...
随机推荐
- Go 接口转换的一个例子
今天将Go 的websocket集成到已有的http中时也遇到以下一个问题:其中主要是接口类型转换 转载自[http://www.cnblogs.com/ghj1976/archive/2013/04 ...
- Java调用外部程序常用算法和封装类
一个项目不可能只使用一种编程语言来开发,也不可能由一个人开发,所以,Java程序员要学会和使用其他编程语言的程序员合作.那么,让我来发布一个工具类--Java外接程序扩展包,并将相应算法发布.Java ...
- ▲▲▲▲▲▲▲▲▲▲▲yum源的配置(本地和ftp)▲▲▲▲▲▲▲▲▲▲▲▲▲v
★★★★★★★★★★★★★★★本机yum源★★★★★★★★★★★★★★★★ 1. 首先把DVD里的OS镜像mount处理,如果插入光驱自动mount的话,一般在/media下面,比如RHEL_6.3 ...
- 上传图片(基于zepto.js)
效果如下: <div class="otherPic"> <div id="showOtherImage"></div> & ...
- 译文:Javascript-Functions
个人理解+google翻译+有道翻译.如有错误,请指正.原文来自MDN:Functions Functions是javascript基本构建模块之一.每一个function是一个javascript程 ...
- MFC的规则DLL与扩展DLL
一.MFC规则DLL MFC规则DLL可以在该dll内部使用MFC,但是与应用程序的接口不能是MFC的.能够被所有支持dll的编程语言所写的应用程序使用,当然也包括使用MFC创建的应用程序.在 ...
- Servlet实现web站点文件下载功能示例
前段时间事情比较多,导致二月份没有记录自己的学习情况.最近接触了servlet,参考韩老师的教程自己写了一个web站点文件下载的小项目,该项目中还加入了简单的反盗链技术. 1.首先创建一个Shared ...
- 思道OA PK 通达OA 同场竞技 谁与争锋
技术架构 思道OA 通达OA 开发语言 微软ASP.NET 4.0 PHP开源脚本语言 64位平台 64位 32位 数据库 SQL Server大数据库 MySQL开源数据库 官网下载 下载地址 下载 ...
- java 中的匿名内部类
转自http://www.cnblogs.com/nerxious/archive/2013/01/25/2876489.html 匿名内部类也就是没有名字的内部类 正因为没有名字,所以匿名内部类只能 ...
- img test