博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
控件设置监听器的一些方法
阅读量:4963 次
发布时间:2019-06-12

本文共 2796 字,大约阅读时间需要 9 分钟。

方法一.创建一个类实现View.OnClickListener接口
1 package com.keycky.TestListener; 2   3 import android.view.View; 4 import android.view.View.OnClickListener; 5   6 public class TextViewClickListener implements OnClickListener { 7   8      @Override 9      public void onClick(View v) {
//此处的v表示触发该点击事件的对象。10 // TODO Auto-generated method stub11 System.out.println("TextView被点击了");12 }13 14 }

创建TextViewClickListener类的对象,并调用helloWorldTextView的setOnClickListener方法把该对象传入给helloWorldTextView对象中的mOnclickListener属性,如果有点击事件,就会调用TextViewClickListener对象的onClick方法。

 

1  protected void onCreate(Bundle savedInstanceState) { 2       super.onCreate(savedInstanceState); 3       setContentView(R.layout.activity_main); 4   5       TextView testTextView = (TextView) findViewById(R.id.testTextView); 6       testTextView.setText("test"); 7   8       TextViewClickListener textViewClickListener = new TextViewClickListener(); 9       testTextView.setOnClickListener(textViewClickListener);10  }

 

方法二,通过接口实现的匿名内部类来创建对象。

直接在onCreate方法中,创建OnClickListener接口的匿名内部类对象

protected void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);          setContentView(R.layout.activity_main);           TextView testTextView = (TextView) findViewById(R.id.testTextView);          helloWorldTextView.setText("test");           testTextView.setOnClickListener(new View.OnClickListener() {
//此处也是要注意导入OnClickListener包要导入android.view.View包 @Override public void onClick(View v) { // TODO Auto-generated method stub System.out.println("匿名内部类实现的监听TextView点击!"); } }); }

感谢安卓杂谈网: http://www.yee4.com/blog/299.html

当然,还有第三种经常使用的方法

截自自己写的代码。

1 public class MainActivity extends Activity implements OnClickListener { 2  3     protected void onCreate(Bundle savedInstanceState) { 4         super.onCreate(savedInstanceState); 5         setContentView(R.layout.activity_main); 6         initviews(); 7         initEvents(); 8         } 9       private void initEvents() {10         mGetImage.setOnClickListener(this);11         mDetect.setOnClickListener(this);12     }13 14 15     private void initviews() {16         mPhoto = (ImageView) findViewById(R.id.id_photo);17         mGetImage = (Button) findViewById(R.id.id_getImage);18         mDetect = (Button) findViewById(R.id.id_detect);19         mTip = (TextView) findViewById(R.id.id_tip);20         mWatting = findViewById(R.id.id_waitting);21         22     }23         public void onClick(View v) {24         switch (v.getId()) {25         case R.id.id_getImage:26                         break;27         case R.id.id_detect:28                                                 break;29 }

 

 

 

 

转载于:https://www.cnblogs.com/keyky/p/4941057.html

你可能感兴趣的文章
vb.net自学完整版
查看>>
Samba 1.0服务部署
查看>>
unity3D 知识点随手记
查看>>
C++学习之运算符重载的总结
查看>>
Hadoop学习之Hadoop集群搭建
查看>>
session cookie
查看>>
java Collection中的排序问题
查看>>
点击input文字会自动消失
查看>>
SOA交互
查看>>
安卓微信6.0.2更新 自定义表情可同步字体大小能修改
查看>>
hdu1083二分图匹配模板题
查看>>
我的未来路
查看>>
java—泛型
查看>>
luogu解题报告:P2178[NOI2015]品酒大会
查看>>
微信小程序,请求php后台返回json数据多出隐藏字符问题
查看>>
Unity2017.1官方UGUI文档翻译——Toggle
查看>>
【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验九:PS/2模块③ — 键盘与多组合键...
查看>>
windows2008 虚拟机64位的操作系统安装32位的应用程序
查看>>
二进制I/O
查看>>
python中operator.itemgetter函数
查看>>