カスタムギャラリーに接続されたLinearLayoutの子(それぞれImageViewとTextView)を持つ拡張BaseAdapterがあります。
setSelection(position)
アクティビティを最初に起動するときに、ImageViewにセレクターを「選択された」画像に変更させるために呼び出したいと思います。これは、ギャラリーをフリングすると、その後に選択した子で機能しますが、アプリを初めて起動したときは機能しません。
私のセレクター:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true"
android:drawable="@drawable/home_image_select" />
<item android:state_selected="false"
android:drawable="@drawable/home_image" />
</selector>
私の最初の推測は、setSelection()を呼び出した後、アダプターでnotifyDataSetChanged()を呼び出すことでした。これは、次のように試みました。
((CustomAdapter) gallery.getAdapter()).notifyDataSetChanged();
それは何もしませんでした。また、これを行うために、GalleryクラスのsetSelection()をオーバーライドしてみました。
View v = this.getAdapter().getView(position, null, this);
((ImageView) v.findViewById(R.id.gallery_image)).setSelected(true);
それもうまくいきません。私が欠けている、または試すことができるものはありますか?