Android實現點擊事件的4種方式

1、經過在activity_main.xml中,按鈕button控件中添加onclick事件實現


在   activity_main.xml 對應的按鈕Button中加入下面紅色事件java

<Button android:id="@+id/send_button"
        android:layout_width="wrap_content"
        android:layout_below="@id/content_edit"
        android:text="@string/send_button"
        android:onClick="call"
        android:layout_height="wrap_content"/>android

在佈局對應的Activity,即MainActivity.java中加入下面方法,下面是點擊撥打號碼的時候的相關操做ide

  /**
     * 當撥打此號碼的按鈕被點擊時觸發此方法.
     * @param v
     */
    public void call(View v) {
        System.out.println("撥打電話……….");
       
        // 1. 取出輸入框中的號碼
        EditText etNumber = (EditText) findViewById(R.id.number);    // 輸入框對象
        String number = etNumber.getText().toString();    // 將要撥打的號碼
       
        // 2. 根據號碼撥打電話
        Intent intent = new Intent();        // 建立一個意圖
        intent.setAction(Intent.ACTION_CALL);        // 指定其動做爲撥打電話
        intent.setData(Uri.parse("tel:" + number));    // 指定將要撥出的號碼
        startActivity(intent);    // 執行這個動做
    }佈局

 

2、採用匿名內部類的方式,在佈局初始化的時候添加事件監聽


在 activity_main.xml  不要添加onclick事件spa

在佈局對應的Activity,即MainActivity.java的onCreate方法中,添加下面代碼實現事件監聽:xml

        Button btnCall = (Button) findViewById(R.id.btn_call);
        btnCall.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                System.out.println("MainUI2 撥打電話.");
                call();
            }
        });對象

 

3、採用內部類的方式,在佈局初始化的時候添加事件監聽


在 activity_main.xml  不要添加onclick事件接口

在佈局對應的Activity,即MainActivity.java的onCreate方法中,添加下面代碼實現事件監聽:事件

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);        // 必須執行此句代碼. 執行父類的初始化操做.
        setContentView(R.layout.main);                // 設置當前界面顯示的佈局.
        Button btnCall = (Button) findViewById(R.id.btn_call);
        btnCall.setOnClickListener(new MyOnClickListener());
    }
   
class MyOnClickListener implements OnClickListener {get

        @Override
        public void onClick(View v) {
            System.out.println("撥打號碼..");
            call();
        }
    }
   
    /**
     * 撥打電話的業務方法
     */
    private void call() {

               //實現事件觸發的要執行的邏輯  

   }

 

4、採用Activity實現接口的方式,實現事件監聽


在 activity_main.xml  不要添加onclick事件,  讓佈局Activity實現接口OnClickListener,並實現接口的方法

 

public class MainActivity extends Activity implements OnClickListener

 

private void call() {

        // 1. 取出輸入框中的號碼
        EditText etNumber = (EditText) findViewById(R.id.number);    // 輸入框對象
        String number = etNumber.getText().toString();    // 將要撥打的號碼
       
        // 2. 根據號碼撥打電話
        Intent intent = new Intent();        // 建立一個意圖
        intent.setAction(Intent.ACTION_CALL);        // 指定其動做爲撥打電話
        intent.setData(Uri.parse("tel:" + number));    // 指定將要撥出的號碼
        startActivity(intent);    // 執行這個動做
    }

    @Override
    public void onClick(View v) {

        call();    }

相關文章
相關標籤/搜索