2025-02-10

第一種也是最開始就接觸的方式,通常在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的博客

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *