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;

             }

相關文章
相關標籤/搜索