当前位置: 代码迷 >> Android >> Android增多监听的三种实现方式
  详细解决方案

Android增多监听的三种实现方式

热度:49   发布时间:2016-04-28 00:52:33.0
Android增加监听的三种实现方式

在Android中,为一个按钮增加监听的方式有五种

  1.匿名内部类

    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        //加载布局文件        setContentView(R.layout.activity_main);        //获得布局中的按钮        btn = (Button) findViewById(R.id.btn);        //为按钮增加匿名内部类监听        btn.setOnClickListener(new OnClickListener() {                        @Override            public void onClick(View arg0) {                // TODO Auto-generated method stub                //打印提示信息                Toast.makeText(MainActivity.this, "匿名内部类实现监听", Toast.LENGTH_SHORT).show();            }        });    }

  2.内部类

    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        //加载布局文件        setContentView(R.layout.activity_main);        //获得布局中的按钮        btn = (Button) findViewById(R.id.btn);        //内部类实现点击监听        btn.setOnClickListener(new MyClickListener());    }    //定义一个内部类    class  MyClickListener implements OnClickListener{        @Override        public void onClick(View arg0) {            // TODO Auto-generated method stub            Toast.makeText(MainActivity.this, "内部类实现监听", Toast.LENGTH_SHORT).show();        }            }

  3.实现接口

     定义的Activity实现OnClickListener接口,并重新onClick()方法

    

    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        //加载布局文件        setContentView(R.layout.activity_main);        //获得布局中的按钮        btn = (Button) findViewById(R.id.btn);        //增加监听,传递this对象,this代表的是被点击的控件        btn.setOnClickListener(this);    }        @Override    public void onClick(View view) {        // TODO Auto-generated method stub        switch (view.getId()) {        case R.id.btn:            Toast.makeText(MainActivity.this, "实现接口实现监听", Toast.LENGTH_SHORT).show();            break;        }    }

   4.在布局文件中增加监听

    <Button         android:id="@+id/btn"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:gravity="left|center_vertical"        android:text="第一个按钮"        android:onClick="click"/><!--说明:click为activity中的方法-->
public void click(View view){/**View参数是必须的,不传递参数会抛出运行异常**/        Toast.makeText(MainActivity.this, "使用布局文件中增加按钮点击事件", Toast.LENGTH_SHORT).show();    }

 

1楼zhuxuekui3
还有第四种,第五种。第四种在layout里面增加,onClick属性。第五种用注解实现
Re: 毛灬毛
@zhuxuekui3,刚开始学,很多东西不清楚!谢谢提醒!我抓紧补上!
  相关解决方案