2012-06-05 274 views
0

我有一个Gridview显示从数组中获取其内容的按钮,我想在点击/按下就可以改变这些按钮的背景颜色。我试过onClick和onTouch,它确实进入了方法,但颜色不是背景未设置。我的代码有什么问题?请帮忙。如何更改gridView的按钮颜色

private class ImageAdapter extends BaseAdapter { 
    private Context mContext; 

      btnView.setOnClickListener(new View.OnClickListener() { 
       public void onClick(View v) { 
        Log.d("onClick","go"); 
        btnView.setBackgroundColor(Color.rgb(12,11,12)); 
        btnView.setBackgroundColor(Color.parseColor("#3614B3")); 

        Intent data = new Intent(); 
        data.setData(Uri.parse("PictureStyle" + position)); 
        setResult(RESULT_OK, data); 

       } 
      }); 

      btnView.setOnTouchListener(new View.OnTouchListener() { 
       public boolean onTouch(View v, MotionEvent event) { 
        Log.d("OnTouch","go2"); 
        btnView.setBackgroundColor(Color.parseColor("#3614B3")); 
        return false; 

       } 
      }); 


      btnView.setOnTouchListener(new View.OnTouchListener() { 

       public boolean onTouch(View v, MotionEvent event) { 
        // TODO Auto-generated method stub 
        Log.d("Touch listener",String.valueOf(position)); 
        btnView.setBackgroundColor(0xff00ff00); 
        Log.d("Touch listener","set"); 
        if (event.equals(MotionEvent.ACTION_DOWN)) { 
         btnView.setBackgroundColor(0xffff0000); 

            } 
        return false; 
       } 
      }); 
+0

'btnView.setBackgroundColor(Color.RED)注册clickListener;'为什么'setOnTouchListener'我认为点击/按下然后设置'setOnClickListener' –

+0

使用选择器...... –

+0

我可以设置背景,但不能当它被点击。我试图在按下按钮而不是释放时更改背景。 – Amblll

回答

3

v.setBackgroundColor(Color.rgb(12,11,12));尝试在你的onClick

+0

谢谢。有效! :) – Amblll

0

你最好使用GridView.setOnItemClickListener,而不是在每个按钮上