0
LinearLayoutManager
のRecyclerView
を使用して、ArrayList
のオブジェクトを設定しています。フォーカスをアイテムからアイテムに変更するときに、onFocus
イベントを実装する方法が必要です。 onClick
イベントは正常に機能しますが、onFocus
イベントは無効です。RecyclerView onFocusイベント
XML:ListAdapter
でViewHolder
クラス内onFocus
の
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/listchannels"
android:layout_width="600dp"
android:layout_height="560dp"
android:layout_alignParentBottom="true"
android:layout_marginBottom="10dp"
android:layout_marginLeft="30dp">
<android.support.v7.widget.RecyclerView
android:id="@+id/channelList"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="left"
android:focusable="true"
android:focusableInTouchMode="true"/>
</FrameLayout>
私のコーディングの実装:
@Override
public void onFocusChange(View v, boolean hasFocus) {
int position = getAdapterPosition();
if(hasFocus) {
Toast.makeText(this.ctx, "Position : " + position, Toast.LENGTH_SHORT).show();
}
}
ここonFocus
イベントは効果がありません、それは動作しません。 RecyclerView
にonFocus
イベントを実装することはできますか?
私は正確に何をすべきですか? onFocusが正しく機能するために、GridLayoutManagerからコードを追加する必要がありますか? – Alaron