Articles of android recyclerview

(平滑)ScrollToPosition无法正确使用RecyclerView

我正在使用GridLayoutManager的基本RecyclerView。 我观察到,smoothScrollToPosition和scrollToPosition也不能正常工作。 a)使用smoothScrollToPosition我经常收到来自RecyclerView错误 “RecyclerView:通过目标位置,同时平滑滚动。” 而且RecyclerView没有正确滚动(经常会错过目标行)。 这主要是当我试图滚动到某一行的第一项时 b)当使用scrollToPosition它似乎工作相当好,但大部分时间,我只能看到行的第一项,其余不显示。 你能给我一些提示,如何正确工作,至less有一种方法? 非常感谢!

Android RecyclerView添加和删除项目

我有一个TextView文本框和十字buttonImageView RecyclerView。 我有一个回收站的button之外的button,使交叉buttonImageView可见/消失。 我正在从recylerview中删除一个项目,当该项目交叉buttonImageView被按下。 我的适配器: public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> implements View.OnClickListener, View.OnLongClickListener { private ArrayList<String> mDataset; private static Context sContext; public MyAdapter(Context context, ArrayList<String> myDataset) { mDataset = myDataset; sContext = context; } @Override public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,int viewType) { View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.my_text_view, parent, false); ViewHolder holder = new ViewHolder(v); holder.mNameTextView.setOnClickListener(MyAdapter.this); holder.mNameTextView.setOnLongClickListener(MyAdapter.this); holder.mNameTextView.setTag(holder); […]

如何让RecyclerView更新其布局?

我有一个RecyclerView与一堆自定义视图可能会改变高度过一段时间,因为他们包含ImageView的asynchronous加载他们的形象。 虽然我在ImageView上调用了forceLayout ,但RecyclerView并没有select这个布局变化,而RecyclerView是用setHasFixedSize(false)初始化的。 ImageView所有容器父母都已经设置了android:layout_height="wrap_content" 。 我怎样才能使RecyclerView更新其布局? 用good'ol ListView这不是一个问题。

无法添加Recyclerview下方的空视图

我正在尝试与应用程序的recyclerview和浮动操作button我的手。 我遇到的问题是浮动操作button阻碍与recyclerview中的button。 我查了一下Android应用程序如电话应用程序(其中一个在gridvew中显示联系人的应用程序)是如何处理这个问题的,我发现底部留有空的空间,在recyclerview和浮动操作button,用户只需要滚动到底部以避免重叠。 我试图在recyclerview之后添加一个视图,但是没有显示它,这个视图也应该和recyclerview行一起移动。 我错过了什么,以显示在回收视图结束的意见。 我的布局文件: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#6fbababa"> <android.support.v7.widget.RecyclerView android:id="@+id/my_recycler_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:scrollbars="vertical"/> <ImageButton android:id="@+id/button_floating_action" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:src="@drawable/ic_fab" android:background="@null" android:layout_alignParentBottom="true" android:layout_marginBottom="12dp" android:layout_marginEnd="12dp" android:layout_marginRight="12dp" android:elevation="2dp"/> <View android:layout_width="match_parent" android:layout_height="30dp" android:layout_below="@id/my_recycler_view" android:background="@color/white"/> </RelativeLayout> 更新:修改布局代码,使其工作。 <android.support.v7.widget.RecyclerView android:id="@+id/my_recycler_view" android:layout_width="match_parent" android:layout_height="match_parent" android:clipToPadding="false" android:paddingBottom="30dp" android:scrollbars="vertical"/>

有没有什么办法在代码中启用RecyclerView滚动条?

正如我们所看到的,RecyclerView比ListView更有效,所以我更喜欢在我的项目中使用它。 但最近我把它放在我的自定义ViewGroup中时遇到了麻烦。 RecyclerView很容易在xml中设置滚动条,如下所示: <android.support.v7.widget.RecyclerView android:id="@+id/recycler_view" android:scrollbars="vertical" android:layout_width="match_parent" android:layout_height="match_parent" /> 但我真的找不到任何方法来设置RecyclerView代码中的滚动条,我试过的是: mRecyclerView.setVerticalScrollBarEnabled(true); 然后我在Android的文档中看到了这个 。 所以我试图做我自己的LayoutManager,并覆盖我认为我需要的function。 但最后我失败了。 所以谁能告诉我,我应该如何使自己的LayoutManager或只是给我一个其他的解决scheme。 谢谢!

将项目分组到CardView的最佳做法是什么?

CardView通常用来装饰一个元素。 但是有时候你需要把这个小部件包装好几个项目。 例如,在收件箱应用程序中。 那么做这件事的最好方法是什么? 它可以通过自定义布局pipe理器甚至自定义的ItemDecoration来实现。 自定义LayoutManager的实现不是一件容易的事情(完全支持animation,项目装饰等)。 在第二个选项中,边界的绘制必须手动实现,忽略CardView(和Android-L标高)的实现。