为控件绑定监听器主要分为以下步骤:

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:为控件绑定监听器的更多相关文章

  1. android 基础控件(EditView、SeekBar等)的属性及使用方法

        android提供了大量的UI控件,本文将介绍TextView.ImageView.Button.EditView.ProgressBar.SeekBar.ScrollView.WebView ...

  2. 【Android开发日记】之入门篇(十三)——Android的控件解析

    Android的控件都派生自android.view.View类,在android.widget包中定义了大量的系统控件供开发者使用,开发者也可以从View类及其子类中,派生出自定义的控件. 一.An ...

  3. Android 开源控件与常用开发框架开发工具类

    Android的加载动画AVLoadingIndicatorView 项目地址: https://github.com/81813780/AVLoadingIndicatorView 首先,在 bui ...

  4. ASP.NET中的chart控件绑定SQL Server数据库

    网上很多的chart控件的实例都没有绑定数据库,经过一番摸索后,终于实现了chart控件绑定数据库. 首先,在Visual Studio中建立一个网站,新建一个WebForm项目,名称为ChartTe ...

  5. CYQ.Data 支持WPF相关的数据控件绑定(2013-08-09)

    事件的结果 经过多天的思考及忙碌的开发及测试,CYQ.Data 终于在UI上全面支持WPF,至此,CYQ.Data 已经可以方便支持wpf的开发,同时,框架仍保留最低.net framework2.0 ...

  6. 关于vue.js中表单控件绑定练习

    html: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8 ...

  7. Devexpress TreeList控件绑定显示父子节点对像

    今天一位同事咨询Devexpress TreeList控件绑定自动显示父子节点对像,但结果是不会显示带父子节点关系,而是将所有的节点作为父节点显示出来了,对像类的代码如下 public class I ...

  8. Silverlight项目笔记5:Oracle归档模式引起的异常&&表格控件绑定按钮

    1.Oracle归档模式产生日志文件引起数据库异常 连接数据库失败,提示监听错误,各种检查监听配置文件,删除再添加监听,无果. sqlplus下重启数据库数据库依然无果,期间碰到多个错误提示: ORA ...

  9. c#中DropDownList控件绑定枚举数据

    c# asp.net 中DropDownList控件绑定枚举数据 1.枚举(enum)代码: private enum heros { 德玛 = , 皇子 = , 大头 = , 剑圣 = , } 如果 ...

随机推荐

  1. C# 代理HTTP请求

    目的: 应该有不少人需要去某些网站不停爬取数据,有时会使用HTTPRequest一直请求某个网站的某个网址.有的网站比如 QQ空间,赶集网(这是我测试的网站),不停刷新会提醒你的账号异常,可能会查封你 ...

  2. jQuery scroll(滚动)延迟加载

    延迟加载 $(window).scroll(function(){ var scrollHeight = $(document).height(); //文档高度 var scrollTop = $( ...

  3. 【转】【C#】无边框窗体移动的三种方法

    1. 重写WndProc protected override void WndProc(ref Message m) { const int WM_NCHITTEST = 0x84; const i ...

  4. corsproxy

    安装完 node.js运行 npm install -g corsproxy安装完成 corsproxy

  5. RadComboBox的用法

    AutoPostBack="true",自动回传数据,也就是自动刷新 <telerik:RadComboBox ID="rcbTeacherList" r ...

  6. Spark小课堂Week2 Hello Streaming

    Spark小课堂Week2 Hello Streaming 我们是怎么进行数据处理的? 批量方式处理 目前最常采用的是批量方式处理,指非工作时间运行,定时或者事件触发.这种方式的好处是逻辑简单,不影响 ...

  7. Catalyst揭秘 Day4 analyzer解析

    Catalyst揭秘 Day4 analyzer解析 今天继续解析catalyst,主要讲一下analyzer,在sql语句的处理流程中,analyzer是在sqlparse的基础上,把unresol ...

  8. Python for 循环 失效

    昨天发现一个负责处理观察者模式的基类工作失败,默认的N个观察者负责处理 发送的一些东西, 其中提供一个内置接口移除观察者: def removeObserver(self, observer): if ...

  9. The method of type must override a superclass method

    导入android项目时,报The method of type must override asuperclass method 一堆错误, 解决方法: 将编译的jdk与使用的jdk版本一致即可.

  10. 【dapper】.net平台下的框架

    http://www.cnblogs.com/yipu/archive/2012/11/21/2780199.html Method Duration Remarks Hand coded (usin ...