Android中點擊事件的四種寫法詳解


Android中點擊事件的四種寫法

  • 使用內部類實現點擊事件
  • 使用匿名內部類實現點擊事件
  • 讓MainActivity實現View.OnClickListener接口
  • 通過布局文件中控件的屬性 第一種方法:使用內部類

第一種

基本步驟如下:

  1. 新建一個MyOnClickListener類並實現View.OnClickListener接口
  2. 重寫View.OnClickListener接口中的OnClick(View view)方法
  3. 給Button綁定一個監聽器,並監聽一個點擊事件

示例代碼如下:

public class MainActivity extends Activity {
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  //綁定
  btn = (Button) findViewById(R.id.button);
  //使用內部類(實現OnClickListener)
  btn.setOnClickListener(new MyOnClickListener());
}

class MyOnClickListener implements View.OnClickListener{
  @Override
  public void onClick(View v) {
    Toast.makeText(this, "別點我", Toast.LENGTH_SHORT).show();
  }
}

第二種方法:使用匿名內部類

基本步驟如下:

    1. 給Button綁定一個監聽器,並監聽一個點擊事件

    2. 在setOnClickListener方法中直接傳入一個OnClickListener對象,並實現OnClick方法
      示例代碼如下:

public class MainActivity extends Activity {
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  btn = (Button) findViewById(R.id.button);
  btn.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
         Toast.makeText(this, "別點我", Toast.LENGTH_SHORT).show();
      }
    });
  }
}

第三種方法:讓MainActivity直接實現View.OnClickListener接口

基本步驟如下:

  1. 讓MainActivity直接實現View.OnClickListener
  2. 在MainActivity類中重寫onClick方法
  3. 給Button綁定一個監聽器,並監聽一個點擊事件。

注:此時setOnClickListener傳入的是this
示例代碼如下:

public class MainActivity extends Activity implements OnClickListener {
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  btn = (Button) findViewById(R.id.button);
  btn.setOnClickListener(this);
}
//實現OnClickListener接口中的onClick方法
@Override
public void onClick(View v) {
        Toast.makeText(this, "別點我", Toast.LENGTH_SHORT).show();
  }
}

第四種方法:通過布局文件中控件的屬性

基本步驟如下:

在activity_main.xml中給Button控件添加Android:onClick=”action”屬性

在Activity中實現action方法,action方法必須滿足如下三個條件:

(1) 方法的訪問修飾符必須是public

(2)方法的名稱必須跟android:onClick=”action” 中的名稱完全一致

(3)形參必須是View類型
示例代碼如下:

public class MainActivity extends Activity {
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  btn = (Button) findViewById(R.id.button);

}
//利用反射給button綁定一個監聽器,監聽點擊事件
/**
 * 1:方法的訪問修飾符必須是public
 * 2:方法的名稱必須跟android:onClick="call" 中的名稱完全一致
 * 3:形參必須是View類型
 * 注:形參View其實就是Button對象本身
 * */
public void call(View view ){
   Toast.makeText(this, "別點我", Toast.LENGTH_SHORT).show();
  }
}

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM