Android开发20——单个监听器监听多个按钮点击事件

本文详细介绍了在Android开发中如何实现按钮的点击事件监听,包括单个按钮的监听方法及多个按钮的统一监听技巧,通过具体代码示例,帮助开发者理解和掌握不同场景下按钮事件的处理方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先给大家分享一个巨牛巨牛的人工智能教程,是我无意中发现的。教程不仅零基础,通俗易懂,而且非常风趣幽默,还时不时有内涵段子,像看小说一样,哈哈~我正在学习中,觉得太牛了,所以分享给大家!点这里可以跳转到教程

               

一、单个按钮点击事件的监听

 

方法一

/** * 从网络上获取图片 *  * @author xy *  */public class MainActivity extends Activity{ private EditText txtPath; private Button btnShowImage; private ImageView imgView; @Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);  setContentView(R.layout.main);  txtPath = (EditText) this.findViewById(R.id.txtPath);  btnShowImage = (Button) this.findViewById(R.id.btnShowImage);  imgView = (ImageView) this.findViewById(R.id.imgView);  btnShowImage.setOnClickListener(new ShowImageListener()); } private final class ShowImageListener implements View.OnClickListener @Override  public void onClick(View v)  {   // 图片路径   String path = txtPath.getText().toString();   try   {    // 获取图片的二进制数据    byte[] imgdata = ImageService.getImage(path);    // 利用Bitmap工厂生成Bitmap    Bitmap bitmap = BitmapFactory.decodeByteArray(imgdata, 0, imgdata.length);    // imageView接收Bitmap并显示    imgView.setImageBitmap(bitmap);   }   catch (Exception e)   {    Toast.makeText(MainActivity.this, "读取图片失败", Toast.LENGTH_SHORT).show();   }  } }}


方法二

在布局页面中给该按钮加上android:onClick="showImage",然后再显示该元素的Activity中加入showImage(View v)的方法,在该方法中进行操作。

 

 

二、多个按钮点击事件的监听

 

方法一

在Activity中按照第一个大标题的方法,给每个按钮写一个监听类或者监听方法。

 

方法二

利用一个监听器监听所有按钮的点击事件

/** * 查询号码归属地 *  * @author 徐越 *  */public class MainActivity extends Activity implements View.OnClickListener{ private EditText txtPhone; private TextView lblAddress; private Button btnQuery; private Button btnReset; private CallAddressQueryService callAddressQueryService = new CallAddressQueryService(); private final int CLICK_QUERY = 1; private final int CLICK_RESET = 2; @Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);  setContentView(R.layout.main);  lblAddress = (TextView) this.findViewById(R.id.lblAddress);  txtPhone = (EditText) this.findViewById(R.id.txtPhone);  btnQuery = (Button) this.findViewById(R.id.btnQuery);  btnReset = (Button) this.findViewById(R.id.btnReset);  btnQuery.setOnClickListener(this);  btnQuery.setTag(CLICK_QUERY);  btnReset.setOnClickListener(this);  btnReset.setTag(CLICK_RESET); } @Override public void onClick(View v) int tag = (Integer) v.getTag();  switch (tag)  {   case CLICK_QUERY:    query();    break;   case CLICK_RESET:    reset();    break;  } } public void query() {  String phone = txtPhone.getText().toString();  try  {   lblAddress.setText("查询中");   String address = callAddressQueryService.getCallAddress(phone);   lblAddress.setText(address);  }  catch (Exception e)  {   e.printStackTrace();   Toast.makeText(this, "查询失败", Toast.LENGTH_LONG).show();  } } public void reset() {  txtPhone.setText("");  lblAddress.setText(""); }}

 

           

浏览人工智能教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值