我有一个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;
}
});
答案 0 :(得分:3)
在onClick
中使用v.setBackgroundColor(Color.rgb(12,11,12));
进行尝试
答案 1 :(得分:0)
最好使用GridView.setOnItemClickListener
,而不是在每个Button上注册clickListener