リストの内部CustomAdapter
で、ユーザーが行の1つを押したときに、リスト内の行の背景色を変更したいと思います。
リストの各行にオブジェクトを含む静的クラスがあります。
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
これは、ユーザーが私のリストの行を押したときにを上げるのに完全に機能します。しかし、押された行の背景色を変更するにはどうすればよいですか?前もって感謝します。