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

第一种也是最开始就接触的方式,一般在activity组件的oncreate事件中直接定义,直接动做。这种方式每一个控件都定义一次,一般不方便. spa

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

btn .setOnClickListener(new View.OnClickListener() { 事件

         public void onClick(View v) { get

//do something it

         } class

     }); import

或者 List


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

btn.setOnClickListener(ocl);  activity

OnClickListener ocl = new View.OnClickListener() {

  public void onClick(View v) {
   // TODO Auto-generated method stub

  }
 };

 

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

publicclassTestMediaextendsActivityimplementsView.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;

             }

第三种相似第二种,这样的好处在于若是须要实现多个监听接口,这样更清晰

publicclassTestMediaextendsActivity{

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

btn1 .setOnClickListener(new ClickEvent());

btn2 .setOnClickListener(new ClickEvent());

}
class
ClickEvent implementsView.OnClickListener

public void onClick(View v) {

             switch (v.getId()) {

                case R.id. myButton1:

//do something

                break;

                case R.id. myButton2:

//do something

                break;

             }

相关文章
相关标签/搜索