gridview中的imagebutton能实现ontouch监听吗?我想在实现gridview的adapter中加入一个imagebutton和一个textview,添加imagebutton触发事件,按上按钮时按钮图片变大,手离开按钮图片回原样

解决方案 »

  1.   

    还是不好使,点击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    
      

  2.   

    还是不好使,点击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    
      

  3.   

    继承的是baseadapter吧 ?
      

  4.   

    在getview()方法里面 写点击事件试一下