如何更改gridView的按钮颜色

时间:2012-06-05 09:47:38

标签: android user-interface

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

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;
                }
            });

2 个答案:

答案 0 :(得分:3)

在onClick

中使用v.setBackgroundColor(Color.rgb(12,11,12));进行尝试

答案 1 :(得分:0)

最好使用GridView.setOnItemClickListener,而不是在每个Button上注册clickListener