一、单个按钮点击事件的监听
方法一
-
-
-
-
-
-
-
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 = BitmapFactory.decodeByteArray(imgdata, 0, imgdata.length);
-
- imgView.setImageBitmap(bitmap);
- }
-
catch (Exception e)
- {
-
Toast.makeText(MainActivity.this, "读取图片失败", Toast.LENGTH_SHORT).show();
- }
- }
- }
- }
方法二
在布局页面中给该按钮加上android:onClick="showImage",然后再显示该元素的Activity中加入showImage(View v)的方法,在该方法中进行操作。
二、多个按钮点击事件的监听
方法一
在Activity中按照第一个大标题的方法,给每个按钮写一个监听类或者监听方法。
方法二
利用一个监听器监听所有按钮的点击事件
-
-
-
-
-
-
-
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("");
- }
- }
本文转自IT徐胖子的专栏博客51CTO博客,原文链接http://blog.51cto.com/woshixy/1093936如需转载请自行联系原作者
woshixuye111