1. 程式人生 > >Button點選事件的三種實現方式

Button點選事件的三種實現方式

Button事件的點選事件的實現

Tips:OnClickListener是一個介面,因此這裡寫外部類時不能用繼承而是隻能implements.。

內部匿名類

直接在需要的地方new一個出來,並實現onClick()方法

btn1.setOnClickListener(new View.OnClickListener() {
  @Override
    public void onClick(View v) {
      Toast.makeText(ButtonActiity.this,"This is 內部匿名實現_btn1 ",Toast.LENGTH_SHORT).show();
        Log.i("onclick"
,"內部匿名類"); } });

外部獨立類

寫一個實現onClickListener介面的類,使用時new 該類的例項
這個可用於多個按鈕均實現同一個功能或有共同程式碼時減少程式碼冗餘。

btn2.setOnClickListener(new MyListener(){
  @Override
  public void onClick(View v) {
    super.onClick(v);
    Toast.makeText(ButtonActiity.this, 
                   "This isneibu",
                   Toast.LENGTH_SHORT).show();
  }
});

public
class MyListener implements View.OnClickListener{ @Override public void onClick(View v){ Log.i("onclick","外部實現類"); } }

介面實現類

Activity直接實現onclickListener的介面,並重寫onClick()方法

public class ButtonActiity extends AppCompatActivity
    implements View.OnClickListener{
...
...
...
  @Override
  public
void onClick(View v) { Toast.makeText(ButtonActiity.this,"This is 藉口實現",Toast.LENGTH_SHORT).show(); } }

在應引用時
btn3.setOnClickListener(this);
即可