単純なことに解決策を見つけるのが難しいことを見て、本当に驚かされることがあります。
私はGridView
6列と複数の行を持っています。各アイテムは、背景として色を持つ正方形です。アイテムを選択すると、listSelector
設定されているように強調表示されます
<GridView
android:id="@+id/listFontColors"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="center_horizontal"
android:layout_margin="8dip"
android:drawSelectorOnTop="true"
android:gravity="center"
android:horizontalSpacing="3dp"
android:listSelector="@drawable/color_list_selected"
android:numColumns="6"
android:padding="0dip"
android:scrollbars="none"
android:stretchMode="columnWidth"
android:verticalSpacing="3dp" />
レイアウトを開いたときにGridView
、前に選択したアイテムを強調表示したい。その背後にあるアダプターには、ArrayList<Object>
強調表示する必要がある位置を簡単に見つけることができます。問題は、実際のハイライトを実行することです。
私は多くのテストを行いました:
listColors.requestFocus();
listColors.setSelection(9);
if (v != null) {
v.requestFocus();
v.setPressed(true);
v.setSelected(true);
}
listColors.performItemClick(listColors, 9, listColors.getItemIdAtPosition(9));
これはどれもうまくいきませんでした。何か案は?