当前位置:首页 » Android开发技术

android监听事件添加动作的三种方式

2013-08-03 10:53 本站整理 浏览(10)
android监听事件添加动作的三种方式

   
    第一种也是最开始就接触的方式,通常在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;
             }
         }
      }

    摘自 wyyew的博客