android - 滚动在回收器视图列表项中不起作用
问题描述
我recycler-view
在. activity_main.xml
_ card_item_list.xml
我无法滚动卡片视图。如果我触摸cardview
它以外的任何地方都可以正常工作。但是,如果我点击 cardview,recycler-view 的滚动行为将不起作用。
activity_main.xml
<ViewFlipper
android:id="@+id/day_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ViewFlipper
android:id="@+id/view_flipper"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="visible">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/grey_ee"
android:focusableInTouchMode="true"
android:paddingBottom="35dp">
<TextView
android:id="@+id/error_container_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_marginTop="20dp"
android:elevation="1dp"
android:gravity="center"
android:padding="10dp"
/>
<android.support.v7.widget.RecyclerView
android:id="@+id/time_duration_recycler_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/error_container_text"
android:layout_marginTop="20dp" />
<android.support.v7.widget.RecyclerView
android:id="@+id/hours_detail_recycler_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/time_duration_recycler_view"
android:layout_centerHorizontal="true"
android:layout_marginTop="25dp"
android:nestedScrollingEnabled="false" />
</RelativeLayout>
card_item.xml
<RelativeLayout
android:id="@+id/errors_and_notifications_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/divider_for_details"
android:background="@color/white"
android:paddingTop="15dp">
<android.support.v7.widget.CardView
android:id="@+id/card_view_errors"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardBackgroundColor="@color/white"
app:cardCornerRadius="0dp"
app:cardElevation="0dp">
<RelativeLayout
android:id="@+id/single_error_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/details"
android:layout_marginBottom="15dp"
android:orientation="horizontal"
android:paddingLeft="15dp"
android:paddingRight="15dp">
<ImageView
android:id="@+id/time_entry_error_image"
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_centerVertical="true"
android:layout_marginLeft="5dp"
android:src="@drawable/error" />
<TextView
android:id="@+id/single_error_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="45dp"/>
</RelativeLayout>
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView
android:id="@+id/card_view_notifications"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/card_view_errors"
app:cardBackgroundColor="@color/white"
app:cardCornerRadius="0dp"
app:cardElevation="0dp">
<RelativeLayout
android:id="@+id/single_notification_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="15dp"
android:orientation="horizontal"
android:paddingLeft="15dp"
android:paddingRight="15dp">
<ImageView
android:id="@+id/time_entry_notification_image"
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_centerVertical="true"
android:layout_marginLeft="5dp"
android:src="@drawable/information" />
<TextView
android:id="@+id/single_notification_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="45dp"
android:textColor="@color/black_58"
/>
</RelativeLayout>
</android.support.v7.widget.CardView>
</RelativeLayout>
我也添加了 Viewflipper。这是一个原因吗?您可以看到第一个 XML 有两个 recycler-view。一个工作正常,因为该回收者视图没有卡片视图。
解决方案
关闭 recyclerview 水平滚动。
LayoutManager layoutManager = new LinearLayoutManager(this,RecyclerView.VERTICAL,false)
{
@override
public Boolean canScrollHorizontally(){
return false;
}
}
recyclerView.setLayout(layoutManager);
推荐阅读
- javascript - 以 d3 惯用方式插入基于子属性的 d3 元素
- prolog - 如何使用从 DCG Prolog 1 转换的普通子句?
- python - Flask SQL Alchemy,在提交会话中显示操作错误
- excel - VBA循环使用if语句
- java - 是否可以在不写入文件系统的情况下从 FileInputStreams 生成 zip?
- powerbi-embedded - Power BI 格式化
- javascript - 显示带有自定义身份验证标头的 IFrame IPython
- javascript - 查询 mongoDb 以减去时间戳
- monitoring - Rancher 2.5.7 - 监控 - 监听端口 8080 failed listen tcp :8080: bind: address already in use
- reactjs - 如何使用测试库在 setupTests.js 中为 Range() 模拟函数?