RecyclerView onFocus事件

时间:2016-07-17 09:34:12

标签: android android-recyclerview onfocus

我使用RecyclerViewLinearLayoutManager来填充ArrayList个对象。我需要的是当我将焦点从一个项目更改为另一个项目时如何实现onFocus事件? onClick事件正常,但onFocus事件无效。

XML:

<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>

onFocusViewHolder课程中我ListAdapter的编码实施:

@Override
public void onFocusChange(View v, boolean hasFocus) {
    int position = getAdapterPosition();

    if(hasFocus) {
        Toast.makeText(this.ctx, "Position : " + position, Toast.LENGTH_SHORT).show();
    }
}

此处的onFocus事件无效,但无效。是否可以在onFocus

上实施RecyclerView事件

1 个答案:

答案 0 :(得分:0)

检查这是否有帮助。我发现你的问题有点类似。

https://stackoverflow.com/a/33190656/2779404

如果没有,让我尝试提供另一种方法。