zoukankan      html  css  js  c++  java
  • 控件设置监听器的一些方法

    方法一.创建一个类实现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 stub
    11           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 }

    学而不思则惘
  • 相关阅读:
    gym 101064 G.The Declaration of Independence (主席树)
    hdu 4348 To the moon (主席树 区间更新)
    bzoj 4552 [Tjoi2016&Heoi2016]排序 (二分答案 线段树)
    ACM-ICPC 2018 南京赛区网络预赛 G Lpl and Energy-saving Lamps(线段树)
    hdu 4417 Super Mario (主席树)
    poj 2236 Wireless Network (并查集)
    查看 scala 中的变量数据类型
    彻底搞定Maven
    Spark :【error】System memory 259522560 must be at least 471859200 Error initializing SparkContext.
    ip地址、子网掩码、网关与网卡、DNS的区别及用处
  • 原文地址:https://www.cnblogs.com/keyky/p/4941057.html
Copyright © 2011-2022 走看看