码迷,mamicode.com
首页 > 其他好文 > 详细

监听事件的三种实现方式

时间:2015-06-07 18:39:08      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:

1、在activity_main.xml文件中添加三个Button按钮

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

    <Button
        android:id="@+id/btn1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/btn"
        />
    <Button
        android:id="@+id/btn2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/btn"
        />
    <Button
        android:id="@+id/btn3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/btn"
        />

</LinearLayout>

2、

第一种方式:通过内部类实现事件监听
        /*
        第一种方式:通过内部类实现事件监听
         */
        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.i("tag","第一种方式:通过内部类实现事件监听");
                Toast.makeText(MainActivity.this,"第一个按钮被点击",Toast.LENGTH_SHORT).show();
            }
        });

技术分享

技术分享

3、

第二种方式:通过外部类实现事件监听(独立类实现)
        /*
        第二种方式:通过外部类实现事件监听(独立类实现)
         */
        btn2.setOnClickListener(new MyOnClickListener(){
            @Override
            public void onClick(View v) {
                super.onClick(v);
                Log.i("tag", "第二种方式:通过内部类实现事件监听");
            }
        });

    class MyOnClickListener implements View.OnClickListener{

        @Override
        public void onClick(View v) {
            Toast.makeText(MainActivity.this,"第二个按钮被点击",Toast.LENGTH_SHORT).show();
        }
    }

说明:第二种方式:通过外部类实现事件监听(独立类实现),一般有多个组件要实现同一个方法时,才采用这种方法来实现事件监听。

技术分享

4、

第三种方式:通过OnClickListener接口实现事件监听
public class MainActivity extends Activity implements View.OnClickListener{
   private Button btn3;
 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);
   btn3.setOnClickListener(this);
}

 /*
    第三种方式:通过OnClickListener接口实现事件监听
     */
    @Override
    public void onClick(View v) {
        Log.i("tag", "第三种方式:通过OnClickListener接口实现事件监听");
    }
}

技术分享

说明: btn3.setOnClickListener(this);其中this就是实现OnClickListener下的onClick方法。

监听事件的三种实现方式

标签:

原文地址:http://www.cnblogs.com/tonycheng93/p/4558775.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!