カスタムアダプターを備えたlistViewがあります。選択時に listView アイテムの背景色を変更しました。これは、Samsung Galaxy S2 の Ice Cream Sandwich 4.0.4 とエミュレータの ICS 4.0.3 で完全に動作します。ただし、4.2.2 JellyBean エミュレーターでは動作しません。JB では、項目を選択すると背景が以前のままになります。
これは、アイテムが選択されたときに背景色を設定するためのロジックがあるコードの一部です。
private int mItemIndex = -1;
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
....
if (convertView == null) {
....
....
} else {
/* To highlight the selected item */
if (position == mItemIndex) {
convertView.setSelected(true);
convertView.setPressed(true);
convertView.setBackgroundColor(context.getResources().getColor(R.color.SkyBlue));
} else {
convertView.setSelected(false);
convertView.setPressed(false);
convertView.setBackgroundColor(context.getResources().getColor(R.color.WhiteSmoke));
}
/* To highlight the selected item - end */
....
....
return v;
}
あるいは、
convertView.setBackgroundResource(context.getResources().getColor(R.color.SkyBlue));
setBackgroundColor の代わりに試してみましたが、うまくいきませんでした。
これを Jellybean で動作させるための回避策はありますか? または、コードに何か不足していますか?
ありがとう。