私は、LinearLayoutの子供(それぞれImageViewとTextView)をカスタムギャラリーにフックアップした拡張BaseAdapterを持っています。Android:カスタムギャラリーsetSelection()の問題
アクティビティを最初に起動したときに、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();
」didnの何もしない。私はまた、これを行うためにGalleryクラスのsetSelection()をオーバーライドすることを試みました:
View v = this.getAdapter().getView(position, null, this);
((ImageView) v.findViewById(R.id.gallery_image)).setSelected(true);
これは動作しません。私は行方不明か試してみることができますか?