Android:支持功能不会出现在Android L中

时间:2016-05-15 08:14:07

标签: android scroll android-recyclerview android-cardview android-5.1.1-lollipop

我使用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识别滚动动作,但没有显示其反应,也没有更新其视图!

2 个答案:

答案 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。真实地解决了这个问题。