当前位置:编程学习 > wap >>

gridview中的imagebutton能实现ontouch监听吗?

gridview中的imagebutton能实现ontouch监听吗?我想在实现gridview的adapter中加入一个imagebutton和一个textview,添加imagebutton触发事件,按上按钮时按钮图片变大,手离开按钮图片回原样 --------------------编程问答-------------------- 可以,在getview中添加imagebutton的事件
@Override
    public View getView(int position, View convertView, ViewGroup parent) {
         
        ViewHolder holder = null;
        if (convertView == null) {
             
            holder=new ViewHolder();  
             
            convertView = mInflater.inflate(R.layout.listmulti, null);
            holder.name = (TextView)convertView.findViewById(R.id.txtperson);
            holder.phonenumber = (TextView)convertView.findViewById(R.id.txtNumber);
            holder.chkSelect = (CheckBox)convertView.findViewById(R.id.chkbox);

            convertView.setTag(holder);
             
        }else {
             
            holder = (ViewHolder)convertView.getTag();
        }
         
         
        //holder.img.setBackgroundResource((Integer)mData.get(position).get("img"));
        holder.name.setText((String)mData.get(position).get("name"));
        holder.phonenumber.setText((String)mData.get(position).get("phonenumber"));
        final int pos = position;
        holder.chkSelect.setOnCheckedChangeListener(new OnCheckedChangeListener(){

            @Override
            public void onCheckedChanged(CompoundButton buttonView,
                    boolean isChecked) {
                // TODO Auto-generated method stub
                if(isChecked){
                    String phone = (String)mData.get(pos).get("phonenumber");
                    
                    if(phone==null || phone.trim().length()==0){
                        String str = "当前联系人没有填写电话号码";
                        Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
                        ((CheckBox)buttonView).setChecked(false);
                    }else{
                        mData.get(pos).put("check","1");
                    }
                }else{
                    mData.get(pos).put("check","0");
                }
            }
            
        });
        return convertView;
    }

private final class ViewHolder{
        public TextView name;
        public TextView phonenumber;
        public CheckBox chkSelect;
    }
--------------------编程问答-------------------- --------------------编程问答-------------------- 还是不好使,点击imagebutton图片变大不能变小
 public View getView(final int position, View convertView, ViewGroup parent) {        

 
 if (convertView == null) {  // if it's not recycled, initialize some attributes            
 holder=new ViewHolder(); 
 convertView = mInflater.inflate(R.layout.imagebutton_adapter_item, null);
 holder.img = (ImageButton) convertView.findViewById(R.id.a_imagebutton);
 holder.info = (TextView) convertView.findViewById(R.id.a_t_info);

 convertView.setTag(holder); 
 } else {            
 holder = (ViewHolder)convertView.getTag();       
 }      
 if(position_1==position){
 holder.img.setBackgroundResource((Integer)item_d.get(position).get("img"));
 holder.img.setOnTouchListener(new OnTouchListener() {
 
 @Override
 public boolean onTouch(View v, MotionEvent event) {
 switch (event.getAction()) {
 case MotionEvent.ACTION_DOWN:
 {
 holder.img.setBackgroundResource((Integer)item_d.get(position).get("img"));
 break;
 }
 case MotionEvent.ACTION_MOVE:
 {
 break;
 }
 case MotionEvent.ACTION_UP:
 {
 String   str_i=Integer.toString(position); 
 Log.e("aaa", str_i);
 holder.img.setBackgroundResource((Integer)item_s.get(position).get("img"));
 break;
 }
 default:
 break;
 }
 return false;
 }
 
 });
 holder.info.setText((String)item_d.get(position).get("info"));
 
 }else{
 holder.img.setBackgroundResource((Integer)item_s.get(position).get("img"));
 holder.info.setText((String)item_s.get(position).get("info"));
 
 }

 return convertView;
 }    // references to our images     --------------------编程问答-------------------- 还是不好使,点击imagebutton图片变大不能变小

 public View getView(final int position, View convertView, ViewGroup parent) {        

 
 if (convertView == null) {  // if it's not recycled, initialize some attributes            
 holder=new ViewHolder(); 
 convertView = mInflater.inflate(R.layout.imagebutton_adapter_item, null);
 holder.img = (ImageButton) convertView.findViewById(R.id.a_imagebutton);
 holder.info = (TextView) convertView.findViewById(R.id.a_t_info);

 convertView.setTag(holder); 
 } else {            
 holder = (ViewHolder)convertView.getTag();       
 }      
 if(position_1==position){
 holder.img.setBackgroundResource((Integer)item_d.get(position).get("img"));
 holder.img.setOnTouchListener(new OnTouchListener() {
 
 @Override
 public boolean onTouch(View v, MotionEvent event) {
 switch (event.getAction()) {
 case MotionEvent.ACTION_DOWN:
 {
 holder.img.setBackgroundResource((Integer)item_d.get(position).get("img"));
 break;
 }
 case MotionEvent.ACTION_MOVE:
 {
 break;
 }
 case MotionEvent.ACTION_UP:
 {
 String   str_i=Integer.toString(position); 
 Log.e("aaa", str_i);
 holder.img.setBackgroundResource((Integer)item_s.get(position).get("img"));
 break;
 }
 default:
 break;
 }
 return false;
 }
 
 });
 holder.info.setText((String)item_d.get(position).get("info"));
 
 }else{
 holder.img.setBackgroundResource((Integer)item_s.get(position).get("img"));
 holder.info.setText((String)item_s.get(position).get("info"));
 
 }

 return convertView;
 }    // references to our images    
--------------------编程问答-------------------- 继承的是baseadapter吧 ?
--------------------编程问答-------------------- 在getview()方法里面 写点击事件试一下。。。
补充:移动开发 ,  Android
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,