RecyclerView抢夺item焦点,导致item自动向上滑动

Posted xiaohuanqi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RecyclerView抢夺item焦点,导致item自动向上滑动相关的知识,希望对你有一定的参考价值。

博客转移到:http://www.wangchengmeng.club/

使用了RecyclerView的布局文件代码:

<android.support.v4.widget.SwipeRefreshLayout
    android:id="@+id/refreshLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@id/layoutCommentInput"
    android:descendantFocusability="afterDescendants"  //必须加上代码
    android:layout_below="@id/feedViewerTitle">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</android.support.v4.widget.SwipeRefreshLayout>

item布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/layoutHeader"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="true"   //必须加上代码
android:orientation="vertical">

<com.ums.closer.ui.feed.FeedContentView
    android:id="@+id/feedContentView"
    android:layout_width="match_parent"
    android:duplicateParentState="true"  //必须加上代码
    android:layout_height="wrap_content"
    android:layout_marginTop="@dimen/dimen_10" />

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="@dimen/dimen_10"
    android:paddingBottom="@dimen/dimen_15"
    android:paddingLeft="@dimen/phoenix_dimen_20"
    android:paddingRight="@dimen/phoenix_dimen_20"
    android:paddingTop="@dimen/dimen_15">

    <TextView
        android:id="@+id/tvFeedFrom"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:textColor="@color/color_btn_login_out"
        android:textSize="@dimen/sp_12"
        tools:text="来自成都一群" />

    <TextView
        android:id="@+id/tvFeedTime"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right|center_vertical"
        android:textColor="@color/color_btn_login_out"
        android:textSize="@dimen/sp_12"
        tools:text="3小时前" />

</FrameLayout>
</LinearLayout>

然后就解决问题

以上是关于RecyclerView抢夺item焦点,导致item自动向上滑动的主要内容,如果未能解决你的问题,请参考以下文章

android ListView显示多个类型item 和 item中控件抢夺焦点解决办法

关于ListView中item与子控件抢夺焦点的解决方法

android 怎么监听recyclerview是不是获取焦点

解决RcyclerView嵌套EditText时,产生的焦点冲突,导致RecyclerView自动滑动问题

在 recyclerview 上退出文本会导致焦点问题并修复它会破坏键盘隐藏 EditText 可见性

RecyclerView嵌套RecyclerView点击Item时顶上去的解决方法