Articles of android recyclerview

如何使用StaggeredLayoutManager实现无限滚动

我已经尝试为LinearLayoutManager实现无限滚动并且它成功并尝试将LinearLayoutManager实现复制到StaggeredGridLayoutManager但它不起作用。 我只想获得firstVisibleItem。 在LinearLayoutManager中: int firstVisibleItem = linearLayoutManager.findFirstVisibleItemPosition(int); 但在StaggeredGridLayoutManager中是: int firstVisibleItem = staggeredGridLayoutManager.findFirstVisibleItemPositions(int[]) 如何使用(int)not(int [])获取firstVisibleItem? 对此有什么好的方法/实施吗? 提前致谢。

处理项目长按回收者视图

我有一个自定义recyclerView的适配器,我想在recyclerView的项目上的长按事件上打开一个popup菜单。 我怎样才能做到这一点?

带CoordinatorLayout的嵌套RecyclerView

我的问题就像这个问题在嵌套的RecyclerView中使用水平滚动滚动行为 就像Google Play商店一样,我在父级RecyclerView中有一个嵌套的RecyclerView(Horizo​​ntal)。 父级RecyclerView是CoordinatorLayout的子级,其中工具栏在父级RecyclerView滚动发生时展开和折叠。 在孩子的RecyclerView外面一切正常,向上滚动CollapsingToolbar会折叠但是当我触摸其中一个子RecyclerView并向上滚动时 ,父级RecyclerView会滚动并且CollapsingToolbar不起作用。 如果需要,那么我将在这里添加我的源代码.. 任何帮助将不胜感激!! 更新: CoordinatorLayout的活动

在RecyclerView中以编程方式单击项目

我正在加载一个类别列表,根据选择的类别,我需要在RecyclerView显示相应类别的产品。 因此,当我第一次启动Fragment我需要模拟用户点击默认类别 – 在这种情况下,它将是第一个。 我怎么能这样做?

如何在RecyclerView的末尾添加按钮?

我想在RecyclerView的末尾显示一个按钮。 使用ListView有一个方法addFooterView(),如何使用RecylerView做同样的事情。

如何从右到左用GridLayoutManager填充RecyclerView

我正在尝试使用GridLayoutManager将一些数据填充到RecyclerView : GridLayoutManager layoutManager = new GridLayoutManager(this, 3, GridLayoutManager.VERTICAL, false); 这将从左到右将数据填充到网格中。 第一项将被放入左上角等地方。 但我正在开发的应用程序是为RTL语言设计的,所以我需要从右到左填充它。 我试图将最后一个参数更改为true 。 但它只是将RecyclerView向下滚动。 另外,为RecyclerView设置layoutDirection属性不起作用(不考虑我的min API为16,并且为API17 +添加了此属性): 如何使用RecyclerView创建从右到左填充的网格?

RecyclerView:获取位置并切换到活动

如何获取在RecyclerView行中单击的项目的位置,而不是在onClick方法中创建活动的意图? 这是我的适配器: public class SergejAdapter extends RecyclerView.Adapter{ private LayoutInflater inflater; List data= Collections.emptyList(); public SergejAdapter(Context context, List data){ inflater = LayoutInflater.from(context); this.data=data; } @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = inflater.inflate(R.layout.navigation_drawer_custom_row,parent,false); MyViewHolder holder= new MyViewHolder(view); return holder; } @Override public void onBindViewHolder(MyViewHolder holder, int position) { Information current=data.get(position); holder.title.setText(current.title); } @Override […]

Recycleview显示不同的视图types

我正在使用recycleview来显示列表。 我想知道我们如何展示不同types的观点? 如同,不同的ViewHolders int在同一个适配器中 在简单的listview中我们使用了getItemViewType(),在recycleview中有什么不同之处?

渲染问题:Android Studio 1.1.0中android.support.v7.widget.RecyclerView的java.lang.NullPointerException

我最近更新了android sdk到api 22和android studio 1.1.0。 之后我在RecyclerView上出现渲染问题。 这是我得到的 java.lang.NullPointerException at android.support.v7.widget.RecyclerView.computeVerticalScrollRange(RecyclerView.java:1216) at android.view.View.onDrawScrollBars(View.java:12943) at android.view.View.draw(View.java:15237) at android.support.v7.widget.RecyclerView.draw(RecyclerView.java:2440) at android.view.View.draw(View.java:15140) at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405) at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:53) at android.view.ViewGroup.drawChild(ViewGroup.java:3405) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198) at android.view.View.draw(View.java:15138) at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405) at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:53) at android.view.ViewGroup.drawChild(ViewGroup.java:3405) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198) at android.view.View.draw(View.java:15234) at android.view.View.draw(View.java:15140) at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405) at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:53) at android.view.ViewGroup.drawChild(ViewGroup.java:3405) at android.support.v4.widget.DrawerLayout.drawChild(DrawerLayout.java:1086) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198) at android.view.View.draw(View.java:15138) at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405) at […]

RecyclerView:如何清除缓存/回收的视图?

我使用RecyclerView显示具有列表布局的项目列表。 我从列表布局切换到网格布局,在网格布局中仅显示所有数据的子集。 此开关使用与列表布局呈现时不同的布局XML。 所有这一切都很好,除了当我滚动,回收(缓存?)列表布局视图填充网格,与适当的网格布局视图项混合。 换句话说,我不是在layout_grid.xml为每个项目的布局使用我的layout_grid.xml ,而是使用layout_grid.xml布局获取项目,但是采用网格格式。 这告诉我LayoutManager工作正常,从列表切换到网格布局。 但并非所有项目视图项都使用网格xml布局重新创建,而是使用回收列表布局视图。 我试过RecyclerView.removeAllViews() , RecyclerView.removeAllViewInLayout() , RecyclerView.swapAdapter() (强制适配器重新加载),都无济于事。 更新: 如果我在列表中向下滚动两个位置,然后从列表切换到网格,前两个位置不通过onCreateViewHolder(),而是直接到onBindViewHolder(),因此不会强制使用网格布局xml。 相反,前两个位置项目被回收(我认为)并以列表布局格式显示。