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 { 德玛 = , 皇子 = , 大头 = , 剑圣 = , } 如果 ...
随机推荐
- hibernate导入大量数据时,为了避免内存中产生大量对象,在编码时注意什么,如何去除?
Session session = sessionFactory.openSession(); Transaction tx = session.beginTransaction(); for ( i ...
- SSH-KEY服务及批量分发与管理实战
SSH服务 一.SSH服务介绍 SSH是Secure Shell Protocol的简写,由IETF网络工作小组制定:在进行数据传输之前,SSH先对联机数据包通过加密技术进行加密处理,加密后再进行数据 ...
- ubuntu12.04 server + apache2 + wsgi + django1.6 部署
最近在学Python和Django,想自己部署一个服务器试试 环境:ubuntu12.04 server | apache2 | django1.6 | python2.7 | mod_wsgi 在网 ...
- ffmpeg yuv转h264
ffmpeg -s 176x144 -i container_qcif_176_144.yuv -b:v 7776k -r 25 -vcodec libx264 ds.h264
- 【NHibernate】配置- sql打印
<property name="dialect">NHibernate.Dialect.MsSql2008Dialect</property> <pr ...
- [译] ASP.NET 生命周期 – ASP.NET 应用生命周期(一)
概述 ASP.NET 平台定义了两个非常重要的生命周期.第一个是 应用生命周期 (application life cycle),用来追踪应用从启动的那一刻到终止的那一刻.另一个就是 请求生命周期 ...
- EXTJS 4.2 资料 控件之Window窗体相关属性的用法
最大化,最小化,是否显示关闭按钮 var win_CommonPicLibMultiple = Ext.create("Ext.window.Window", { title: & ...
- SPFA&邻接表 PASCAL
题目来自CODE[VS]-->热浪 1557 热浪 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 钻石 题目描述 Description 德克萨斯纯朴的民眾们这个 ...
- JVM -XX: 参数介绍(转)
垃圾回收器相关常用参数: 功能开关: 参数 默认值或限制 说明 参数 默认值 功能 -XX:-AllowUserSignalHandlers 限于Linux和Solaris,默认不启用 允许为java ...
- swift基础--字符串
(1)遍历 (2)长度 (3)拼接 (4)插值 (5)大小写 (6)trim (7)split ……等等 var a = "你好" var b = String() a.isEmp ...