zoukankan      html  css  js  c++  java
  • 王立平--android事件监听的3种方式

    第一种通常在activity组件的oncreate事件中直接定义,直接动作。

    这样的方式每一个控件都定义一次。通常不方便.

    Button btn = (Button) findViewById(R.id.myButton);

     btn .setOnClickListener(new View.OnClickListener() {

             public void onClick(View v) {

     //do something

             }

         });
    另外一种一般是在activity组件实现其接口。这样能够多外控件共享一个接口,这样相对方便

     

    public class TestMedia extends Activity implements View.OnClickListener{

     

    Button btn1 = (Button) findViewById(R.id.myButton1);
    Button btn2 = (Button) findViewById(R.id.myButton2);

     

     

     

     btn1 .setOnClickListener();
    btn2 .setOnClickListener();

     

     

    }

     

     public void onClick(View v) {

                 switch (v.getId()) {

                    case R.id. myButton1: 

     //do something

                    break;

                    case R.id. myButton2: 

     //do something

                    break;

                 }

    第三种类似另外一种,这种优点在于假设须要实现多个监听接口,这样更清晰

    public class TestMedia extends Activity {

     

    Button btn1 = (Button) findViewById(R.id.myButton1);
    Button btn2 = (Button) findViewById(R.id.myButton2);

     

     

     

     btn1 .setOnClickListener(new ClickEvent());

    btn2 .setOnClickListener(new ClickEvent());

     

     

    }
    class ClickEvent implements View.OnClickListener

     

     public void onClick(View v) {

                 switch (v.getId()) {

                    case R.id. myButton1: 

     //do something

                    break;

                    case R.id. myButton2: 

     //do something

                    break;

                 }

  • 相关阅读:
    (转)一次棘手的rootvg更换硬盘处理过程
    mysql:服务器错误代码
    (转)运行跟踪格式化程序
    (转)InnoDB存储引擎MVCC实现原理
    (转)漫谈JVM
    (转)mysql、innodb和加锁分析
    (转)DB2和 Oracle的并发控制(锁)比较
    (转)Mysql主从复制搭建及详解
    BigDecimal 、BigInteger
    Date、DateFormat、SimpleDateFormat、Calendar
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5227064.html
Copyright © 2011-2022 走看看