监听事件的三种实现方式

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方法。

时间: 2024-08-27 13:25:27

监听事件的三种实现方式的相关文章

miniui 给表格行添加监听事件的几种方法以及点击某列列名数据不能排序的问题

最近在使用miniui框架做开发,在做表格行的点击监听事件中发现了几个属性,都可以起到监听效果但是执行的结果却大有不同.好了废话不多说,直接上代码. <div id="pageGrid" class="mini-datagrid" style="width: 100%; height: 100%; border:0;" url="${ctx}/tAXINFO/queryRepeat" autoload="tru

监听按钮的点击事件的三种实现方式

1.匿名内部类监听按钮点击事件 Button buttonup=(Button)findViewById(R.id.btn_signup); //找到需要的Button按钮,转换成Button类型 buttonin.setOnClickListener(new View.OnClickListener() { //设置Button的监听器 @Override public void onClick(View v) { Toast.makeText(MainActivity.this,"点击了登录

事件的三种绑定方式

1.行内式绑定事件处理 <input type="button" value="click" style="color:red" onclick="console.log(this.style.color)"/> 另外一种写法: <input type="button" value="click" style="color:red" onclick=

Android 监听事件

安卓中监听事件的三种实现方式 1.匿名内部类的实现方式 2.独立类的实现方式 3.实现接口方式实现 一.匿名内部类的实现 1.首先声明一个Button //声明一个Button private Button Listener1; 2.设置Button的监听器,并且通过匿名内部类的方式实现 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //设置Bu

ext Window点击右上角关闭(X按钮)添加监听事件

使用场景:关闭window的时候增加监听事件. 正确的使用方式: addwin = new Ext.Window({ title : '新增', closable : true, width : 500, autoHeight: true, border : false, plain : true, modal : true, layout : 'fit', bodyStyle : 'padding:5px;', maximizable : false,// 禁止最大化 closeAction

监听按钮点击事件的三种方式实现及调试信息输出的三种方式实现

监听按钮点击事件的三种方式实现: 1.匿名内部类 2.外部独立类 3.接口实现 package com.example.button; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View;

Android 四种绑定监听事件的方式

1. 直接通过id查找后,绑定匿名内部类作为事件监听类.代码如下: Button loginButton = (Button) findViewById(R.id.tologin1); btn1.setOnclickListener(new OnclickListener(){ public void onClick(View v){ // 要执行的操作 } }); 这种方法有好也有不好,好的是比较直观方便,不好的是,如果按钮多了,代码看起来比较乱. 2. 实现点击事件的接口,然后一个个按钮地去

Unity NGUI监听按钮点击事件的三种方法

NGUI版本:3.6.5 1.直接实现OnClick方法: 创建一个脚本,在脚本中实现OnClick()方法,绑定该脚本到按钮上,点击时就会实现OnClick函数内容: 2.使用SendMessage: 选择按钮后,打开Component——NGUI——Interaction,选择Button Message,为按钮添加一个UIButton Message组件: 然后设置UIButton Message中的参数即可: Target:接收按钮消息的游戏对象: Function Name:接收按钮消

Android中Button的五种监听事件

简单聊一下Android中Button的五种监听事件: 1.在布局文件中为button添加onClick属性,Activity实现其方法2.匿名内部类作为事件监听器类3.内部类作为监听器4.Activity本身作为事件监听器,实现onClickListener5.外部类作为监听器 ButtonListenerActivity.class public class ButtonListenerActivity extends AppCompatActivity implements View.On