Articles of android recyclerview

Android回收器视图中的项目之间的边距

您好,我正在学习本教程 http://www.journaldev.com/10024/android-recyclerview-and-cardview-example-tutorial 现在我面临一个奇怪的问题,每个cardview项目内的回收站视图之间的差距太多了。 问题 如何减less放置在回收站视图内的每个Cardview项目之间的边距。

RecyclerView展开/折叠项目

我想展开/折叠我的recyclerView的项目,以显示更多的信息。 我想实现SlideExpandableListView的相同效果。 基本上在我的viewHolder中,我有一个不可见的视图,我想做一个平滑的展开/折叠animation,而不是将可见性设置为仅可见/去。 我只需要一次扩展一个项目,并且有一些提升来显示该项目被选中将会很酷。 这是新的Android最近通话logging列表的效果。 只有当select一个项目时,才能看到选项“CALL BACK”和“DETAILS”。

RecyclerView更改数据集

我想为我的RecyclerView实现searchfunction。 在文字改变,我想改变与这个小部件显示的数据。 也许这个问题之前已经被问过或很简单,但我不知道如何改变要显示的数据… 我的RecyclerView定义如下: // 1. get a reference to recyclerView mRecyclerView = (RecyclerView)findViewById(R.id.recyclerView); // 2. set layoutManger mRecyclerView.setLayoutManager(new LinearLayoutManager(this)); // 3. create an adapter mAdapter = new ItemsAdapter(itemsData); // 4. set adapter mRecyclerView.setAdapter(mAdapter); 而我所展示的数据是这样的: ItemData itemsData[] = { new ItemData("Mary Richards"), new ItemData("Tom Brown"), new ItemData("Lucy London") }; 所以当我想给适配器另外一组数据时,另一个数组(例如一个项目),我该怎么办?

RecyclerView里面的CardView有额外的边距

我在RecyclerView中使用CardView作为元素。 这样做时,android会自动在cardView和屏幕之间以及不同cardView之间生成边距。 <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/galleryCardBGColor" app:cardCornerRadius="2dp" > <android.support.v7.widget.RecyclerView android:id="@+id/my_recycler_view" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="vertical" /> 我按照链接中的说明将它们整合到我的项目中: using-recyclerview-and-cardview-in-eclipse-adt 我以前一直使用listlay元素的线性布局: <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > 这个工作完全正常,列表元素之间没有任何利润空间。 现在我已经将线性布局放置在cardView里面了,导致了额外的边距。 原因是我想为这些要素提供确切的利润率,而我现在提供的任何利润都被添加到这个先前的利润率。 我已经尝试向cardView元素提供零/负填充/边距,但是这些都不起作用。 任何想法,我可以删除这些利润率或以其他方式知道究竟有多less保证金被添加。

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

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

获得点击项目及其在RecyclerView中的位置

我用RecyclerViewreplace我的ListView ,列表显示好,但我想知道如何获得点击项目和它的位置,类似于我们使用的方法OnItemClickListener.onItemClick(AdapterView parent, View v, int position, long id) ListView 。 感谢您的想法!

用于ListView的ScrollingViewBehavior

我有两个使用AppBarLayout与支持库22中的Toolbar和TabLayout活动。 两者的布局非常相似:顶部有一个Toolbar在其下方是TabLayout ,在其下面是一个包含3个Fragment的ViewPager 。 第一个活动的Fragment有一个RecyclerView ,第二个活动的Fragment使用ListView来代替。 https://github.com/chrisbanes/cheesesquare中的可滚动Toolbar示例在使用RecyclerView的第一个活动上正常工作,但在ListView上工作正常。 我试过创build了一个扩展AppBarLayout.ScrollingViewBehavior的自定义ListViewScrollBehavior ,但到目前为止没有运气。 TouchEvent仅传递给自定义类进行水平滚动,而不是滚动ListView (垂直方向)。 任何方式与ListView使用CoordinatorLayout ?

LinearLayoutManager setReverseLayout()== true,但项目从底部堆叠

这似乎是一个简单的解决scheme,但似乎设置 private RecyclerView mRecyclerView; private RecyclerView.Adapter mAdapter; private LinearLayoutManager mLayoutManager; …. // More code mRecyclerView = (RecyclerView) rootView.findViewById(R.id.recycler_view); // Add item decoration mRecyclerView.addItemDecoration(new SpacesItemDecoration(DIVIDER_SPACE)); // use this setting to improve performance if you know that changes // in content do not change the layout size of the RecyclerView mRecyclerView.setHasFixedSize(true); // use a linear layout manager […]

滚动条在RecyclerView中不显示

我有一个RecyclerView并希望有滚动条显示,当它覆盖多个页面。 我根本没有滚动条。 任何想法? 我的布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <CheckBox android:id="@+id/cl_only_empty" android:layout_width="match_parent" android:layout_height="wrap_content" android:elevation="5dp" android:text="@string/cl_only_empty" android:textColor="@color/white" /> <android.support.v7.widget.RecyclerView android:id="@+id/callsList" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="vertical" /> </LinearLayout>

RecyclerView不会调用onCreateViewHolder

我的RecyclerView不会调用onCreateViewHolder , onBindViewHolder甚至MenuViewHolder构造函数,因此RecyclerView没有任何内容。 我把日志进行debugging,并没有显示日志。 可能是什么问题? 我的适配器: public class MenuAdapter extends RecyclerView.Adapter<MenuAdapter.MenuViewHolder> { private LayoutInflater inflater; List<Menu> data = Collections.emptyList(); public MenuAdapter(Context context, List<Menu> data) { Log.i("DEBUG", "Constructor"); inflater = LayoutInflater.from(context); Log.i("DEBUG MENU – CONSTRUCTOR", inflater.toString()); this.data = data; for(Menu menu: this.data){ Log.i("DEBUG MENU – CONSTRUCTOR", menu.menu); } } @Override public MenuViewHolder onCreateViewHolder(ViewGroup parent, int viewType) […]