Android添加事件的四种方法

方法一:通过内部类的方式添加事件

btn.setOnClickListener(new MyButtonOnClickListener());

     private class MyButtonOnClickListener implements OnClickListener {
    
     @Override
     public void onClick(View v) {
     EditText txtPhoneNum = (EditText) MainActivity.this
     .findViewById(R.id.txt_phone_num);
     String number = txtPhoneNum.getText().toString();
     Log.i(tag, number);
     // 拨打电话号码
     Intent intent = new Intent();// 意图 代表要执行一个动作的意图
     // 拨打动作 110代表一个数据
     intent.setAction(Intent.ACTION_CALL);
     intent.setData(Uri.parse("tel:" + number));
     startActivity(intent);
    
     }


方法二:通过匿名内部类的方式实现

        btn.setOnClickListener(new OnClickListener() {
            // 方法二:通过匿名内部类的方式添加单击事件
            @Override
            public void onClick(View v) {
                String number = txtPhoneNum.getText().toString();
                Log.i(tag, number);
                // 拨打电话号码
                Intent intent = new Intent();// 意图 代表要执行一个动作的意图
                // 拨打动作 110代表一个数据
                intent.setAction(Intent.ACTION_CALL);
                intent.setData(Uri.parse("tel:" + number));
                startActivity(intent);
            }
        });

方法三:通过Activity实现OnClickListener接口的方式实现

public class MainActivity extends Activity implements OnClickListener

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
        case R.id.button1:
            String number = txtPhoneNum.getText().toString();
            Log.i(tag, number);
        }
    }

方法四:在layout布局的xml文件中加入click代码

android:onClick="btn_click"

    // 方法四:通过在xml文件中添加onclick方法
    public void btn_click(View v) {
        String number = txtPhoneNum.getText().toString();
        Log.i(tag, number);
    }

如果TextView要实现onClick,必须加上android:clickable="true"

posted @ 2013-11-27 11:01  yly123  阅读(658)  评论(0编辑  收藏  举报