android監聽事件添加動做的三種方式

第一種也是最開始就接觸的方式,一般在activity組件的oncreate事件中直接定義,直接動做。這種方式每一個控件都定義一次,一般不方便.
web

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

 btn .setOnClickListener(new View.OnClickListener() {code

         public void onClick(View v) {接口

 //do something事件

         }ci

     });
第二種一般是在activity組件實現其接口,這樣能夠多外控件共享一個接口,這樣相對方便
get

public class TestMedia extends Activity implements View.OnClickListener{it

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

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

}

 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;

             }

相關文章
相關標籤/搜索