0

このように、リストビューで選択したアイテムの背景色を設定しています。

@Override
public View getView(int position, View convertView, ViewGroup parent) {

        if (position == containerFragment.vList.getCheckedItemPosition()) {
        convertView.setBackgroundResource(R.color.listview_selected_background);
        } 
        else {
            convertView.setBackgroundResource(R.color.listview_default_background);
        }
        return convertView;
}

色の定義は次のとおりです。

<color name="listview_default_background">#00000000</color>
<color name="listview_selected_background">#333333</color>

グラデーションを使用しない場合はすべて正常に動作しますが、「android:windowBackground」によるグラデーションを使用すると、一部のアイテムの背景が黒くなります。何か案は?

4

1 に答える 1

0

この問題を解決したい場合は、listView タグでcacheColorHint属性と@android:color/transparent値を使用します。

完全なコード

<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:cacheColorHint="@android:color/transparent" />
于 2016-06-30T14:39:44.863 に答える