在我CustomAdapter
的列表中,当用户按下其中一行时,我想更改列表中一行的背景颜色。
我有一个静态类,其中包含列表每一行中的对象:
static class ViewHolder {
ImageView image;
TextView text;
}
持有人包含我列表中的元素:
holder = new ViewHolder();
holder.image = (ImageView) convertView.findViewById(R.id.imageView1);
holder.text = (TextView) convertView.findViewById(R.id.textView1);
convertView.setTag(holder);
holder.image.setImageResource(items.get(position).getImage());
holder.text.setText(items.get(position).getTextToView());
对此 convertView 我添加了setOnTouchListener
这种方式:
convertView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction()) {
case MotionEvent.ACTION_DOWN:
//Toast.makeText(c, "DOWN", Toast.LENGTH_SHORT).show();
break;
case MotionEvent.ACTION_UP:
//Toast.makeText(c, "UP", Toast.LENGTH_SHORT).show();
break;
}
return false;
}
});
我试过这个:
convertView.setBackgroundColor(Color.RED);
但是我的编译器抱怨说convertView
应该是final
并且会干扰其他一些代码。
Toast
当用户在我的列表中按下一行时,这非常适合引发 a 。但是我怎样才能改变被按下的行的背景颜色呢?提前致谢。