android-实现监听器的三种方法

第一种:在类中,定义一个类接口,然后给出类的定义(最简单、直观)

public class Test extends Activity{
    Button btn;
    public void onCreate(Bundle savedInstanceState){

    super.onCreate(savedInstanceState);
    setContentView(R,layout.main);

    ///给按钮添加监听器
    MyOnClickListener listener=new MyOnClickListener();
    btn.setOnClickListener(listener);
   }
    ///给出监听器类的定义
    class MyOnClickListener implements OnClickListener{
    @Override
    public void onClick(View arg0){
          Toast.makeTest......show();
     }
   }
}

第二种:使用匿名内部类(自己目前最经常看到的写法,实际上就是将第一种的写在了一起)

public class Test extends Activity {
Button btn;
public void onCreate(Bundle savedInstanceState ){
    super.onCreate(savedInstanceState );
    setContentView (R. layout.main );

    //匿名内部类写法
    btn.setOnClickListener (new OnClickListener (){
        @Override
         public void onClic(View v ){
            Toast .makeTest....show();
         }
    });
}

}

第三种:使用更简化,直接在类上实现监听接口

public class Test extends Activity implements OnClickListener{
Button btn;
public void onCreate(Bundle savedInstanceState ){
    super.onCreate(savedInstanceState );
    setContentView (R. layout.main );

    btn.setOnClickListener (this);
}
    //////直接覆盖 onClick方法就可以
    @Override
    public void onClick (View v){
        Toast .makeText( ...).show ();
    }
}
时间: 2024-10-29 21:19:22

android-实现监听器的三种方法的相关文章

Android成长之路-实现监听器的三种方法

第一种:  在Test类中  定义一个类接口OnClickListener 第二种:直接在Test类上写一个接口 其中的this相当于new OnClickListener()对象, 即class test 中的一个对象, 而如果要用这种方式的话,public void onClick 方法必须写在该test类中, 且在开头使用implements OnClickListener, 即this对象可以直接调用该方法 第三种:  匿名内部类 Android成长之路-实现监听器的三种方法

[Android] Android 定时任务实现的三种方法(以SeekBar的进度自动实现为例)

一.采用Handler与线程的sleep(long)方法 二.采用Handler与timer及TimerTask结合的方法 三.采用Handler的postDelayed(Runnable, long)方法  布局文件: activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.c

【转】Android——设置颜色的三种方法

以下三种方法均由[http://www.cnblogs.com/six-moon/p/4411383.html]转载. 1.利于系统自带的颜色类.如:TextView1.setTextColor(Android.graphics.Color.RED); 2.数字颜色表示法.如:TextView1.setTextColor(0x000000);//黑色 3.自定义颜色.如:TextView1.setTextColor(this.getResources().getColor(R.drawable.

Android注入事件的三种方法比较

方法1:使用内部APIs 该方法和其他所有内部没有向外正式公布的APIs一样存在它自己的风险.原理是通过获得WindowManager的一个实例来访问injectKeyEvent/injectPointerEvent这两个事件注入方法. IBinder wmbinder = ServiceManager.getService( "window" ); IWindowManager m_WndManager = IWindowManager.Stub.asInterface( wmbin

Monkey源码分析番外篇之Android注入事件的三种方法比较

原文:http://www.pocketmagic.net/2012/04/injecting-events-programatically-on-android/#.VEoIoIuUcaV 往下分析monkey事件注入源码之前先了解下在android系统下事件注入的方式,翻译一篇国外文章如下. Method 1: Using internal APIs 方法1:使用内部APIs This approach has its risks, like it is always with intern

android 获取sharedpreference的三种方法的区别

1. public SharedPreferences getPreferences (int mode) 通过Activity对象获取,获取的是本Activity私有的Preference,保存在系统中的xml形式的文件的名称为这个Activity的名字,因此一个Activity只能有一个,属于这个Activity. 2. public SharedPreferences getSharedPreferences (String name, int mode) 因为Activity继承了Con

android开发中监听器的三种实现方法(OnClickListener)

Android开发中监听器的实现有三种方法,对于初学者来说,能够很好地理解这三种方法,将能更好地增进自己对android中监听器的理解. 一.什么是监听器. 监听器是一个存在于View类下的接口,一般以On******Llistener命名,实现该接口需要复写相应的on****(View v)方法(如onClick(View v)). 二.监听器的三种实现方法 (以OnClickListener为例) 方法一:在Activity中定义一个内部类继承监听器接口(这里是OnClickListener

Android开发之去掉标题栏的三种方法,推荐第三种

Android:去掉标题栏的三种方法和全屏的三种方法 第一种:一般入门的时候经常使用的一种方法 onCreate函数中加入以下代码: requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏 注意这句一定要写在setContentView()方法的前面,不然会报错的 第二种:在AndroidManifest.xml文件中定义 <application android:icon="@drawable/icon" android:la

Android中常用的三种存储方法浅析

Android中常用的三种存储方法浅析 Android中数据存储有5种方式: [1]使用SharedPreferences存储数据 [2]文件存储数据 [3]SQLite数据库存储数据 [4]使用ContentProvider存储数据 [5]网络存储数据 在这里我只总结了三种我用到过的或即将可能用到的三种存储方法. 一.使用SharedPreferences存储数据 SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置信息比如窗口状态,它的本质是基