安卓中关于点击响应事件的四种写法(电话拨号器)

来源:互联网 发布:施瓦辛格巅峰力量数据 编辑:程序博客网 时间:2024/06/02 07:28
安卓中点击响应事件主要是用button响应事件,关于响应事件的大概有四种写法
1,,创建一个内部类,定义点击事件
2,创建一个匿名内部类,直接实现接口
3,让activity实现点击事件的接口(用的最多常见的情况)
4,4,在布局文件里面绑定一个点击的方法
 < Button
        android:onClick= "dailButtonClicked"
.....
/>
本次过程的一些代码是基于简单的电话拨号器的实现的
public class MainActivity extends Activity implements OnClickListener {   private EditText ed_number;     @Override     protected void onCreate(Bundle savedInstanceState) {            super.onCreate( savedInstanceState);            //加载布局文件           setContentView(R.layout. activity_main);            //查找按钮            Button bt_dail=(Button)this .findViewById(R.id.button1);          //查找文本框            ed_number=(EditText) MainActivity.this.findViewById(R.id.et_number);                       //给按钮注册点击事件//1,创建一个内部类,定义点击事件            /* bt_dail.setOnClickListener(new Mylistener());*/            //2,创建一个匿名内部类的方式            /* bt_dail.setOnClickListener(new OnClickListener() {                                @Override                public void onClick(View v) {                      callphone();                                     }           });*/            /* 3,让activity实现点击事件的接口(用的最多常见的情况)            * bt_dail.setOnClickListener(this);*/     }          //4,在布局文件里面绑定一个点击的方法     public void dailButtonClicked(View view){           callphone();     }
具体的方法实现见下面代码:
private void callphone() {           String number= ed_number.getText().toString().trim();             if(TextUtils. isEmpty(number)){                 Toast. makeText(MainActivity.this, "号码不能为空", Toast. LENGTH_SHORT).show();                  return ;             }                         Intent intent= new Intent();             intent.setAction(Intent. ACTION_CALL);             //uri类型             intent.setData(Uri. parse("tel:"+number));             startActivity( intent);     }     private class Mylistener implements OnClickListener{            /*            *按钮被点击的时候调用的方法            */            @Override            public void onClick(View v) {                        callphone();           }                }     @Override     public void onClick(View v) {            // TODO Auto-generated method stub            callphone();     }




0 0
原创粉丝点击