当前位置:操作系统 > 安卓/Android >>

Android开发——单个易做图监听多个按钮点击事件

一、单个按钮点击事件的监听
 
 
 
方法一
 
[java]  
/** 
 * 从网络上获取图片 
 *  
 * @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();  
            }  
        }  
    }  
}  
 
/**
 * 从网络上获取图片
 * 
 * @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中按照第一个大标题的方法,给每个按钮写一个监听类或者监听方法。
 
 
 
方法二
 
利用一个易做图监听所有按钮的点击事件
 
[java]  
/** 
 * 查询号码归属地 
 *  
 * @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;
补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,