我使用Android Studio 2.0。我已经使用了在kitkat 上正确渲染的RecyclerView和CardView,但是当应用程序在带有Android 5.1.1(棒棒糖)的SAMSUNG A5上运行时,RecyclerView不会滚动,而我的CardView也没有。有高度和角落。
我尝试在SO中建议的解决方案,例如添加
card_view:cardUseCompatPadding="true"
并添加保证金
甚至改变了
xmlns:card_view="http://schemas.android.com/apk/res-auto"
到
xmlns:card_view="http://schemas.android.com/tools"
但这些没有用
这是我的RecyclerView:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.RecyclerView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/grid_cards_recyclerview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:layoutDirection="rtl"
android:padding="2dp"
android:background="#e0e0e0"
/>
RecyclerView GridRecyclerView = (RecyclerView) getActivity().findViewById(R.id.grid_cards_recyclerview);
GridLayoutManager gll = new GridLayoutManager(getActivity(), 2);
GridRecyclerView.setLayoutManager(gll);
GridAdapter gridAdapter = new GridAdapter(getActivity(), mylist);
GridRecyclerView.setAdapter(gridAdapter);
这是一种奇怪的行为:如果我在屏幕上向上移动(向下滚动),recyclelerview没有显示任何变化,但如果我去另一个活动然后回来,我看到recyclerview已向下滚动!!你怎么解释这种行为?! Recyclerview识别滚动动作,但没有显示其反应,也没有更新其视图!
答案 0 :(得分:0)
确保您正在使用com.android.support:recyclerview-v7:22.2.0
(对于22.2.0之前的版本,它对我来说也不起作用)
答案 1 :(得分:0)
我解决了RecyclerView问题。 I searched a lot。我在片段中编写代码,并使用
预览它们fragmentTransaction.add(R.id.fragment_main,
fragment);
所以在棒棒糖中,我的片段落后于前一个片段并且没有处理触摸因此现在我使用
fragmentTransaction.replace(R.id.fragment_main,
fragment);
现在recyclerView
正在滚动。
对于使用card_view:cardUseCompatPadding="true"
但我没有工作的影子,因为我将Manifest中的android:hardwareAccelerated
设置为false。真实地解决了这个问题。