Android响应按钮点击事件的4种方法实现

  Android开发中我们经常会涉及到点击事件的绑定,我总结了4种方法给大家分享出来,供大家参考。

          下面以电话拨号器为例进行讲解吧,首先我们在layout布局文件中进行布局,设置一个EditText和Button,然后在Mainactivity分别对其进行声明,通过findViewbyId进行查找相应控件,读取到EditText中的信息,点击按钮进行拨号。下面是相关代码


 
public class MainActivity extends Activity implements OnClickListener {
    private Button bt_dail;
    private EditText et_number;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

   bt_dail =  (Button) findViewById(R.id.bt_dial);
   et_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 = et_number.getText().toString().trim();
if(TextUtils.isEmpty(number)){
Toast.makeText(MainActivity.this, "号码不能为空", Toast.LENGTH_SHORT).show();
}
//意图
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
//url统一资源定位符 uri统一资源标示符
intent.setData(Uri.parse("tel:"+number));
//开启一个新的界面
startActivity(intent);
}
public class MyListener implements OnClickListener{


       //当按钮被点击的时候
@Override
public void onClick(View v) {

callPhone();
}}
//3.接口里面实现未实现方法
public void onClick(View v) {
switch (v.getId()){
case R.id.bt_dial:
callPhone();
break;

default:
break;
}

}
}


        值得说明的是第三种方法可以通过switch方法通过查找Id进行方法实现,避免了创建多个内部类的麻烦。第四种方法是在布局文件中Button中添加OnClick方法,不是很常用,简单的测试可以使用的

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值