1. 程式人生 > >Android開發20——單個監聽器監聽多個按鈕點選事件

Android開發20——單個監聽器監聽多個按鈕點選事件

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

一、單個按鈕點選事件的監聽

 

方法一

/** * 從網路上獲取圖片 *  * @author 徐越 *  */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.OnClickListenerprivate EditText txtPhone; private TextView lblAddress; private Button btnQuery; private Button btnReset; private CallAddressQueryService callAddressQueryService = new CallAddressQueryService(); private final int CLICK_QUERY = 1private 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(""); }}

 

           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述