Articles of android recyclerview

Android卧式回收器查看滚动方向

我做了一个水平的RecyclerView,它工作正常(感谢这一点 ),但滚动和数据的方向从左到右扩大; 那么我怎样才能改变RecyclerView的滚动方向,如下图所示? 我的代码: StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager( 2, //The number of Columns in the grid LinearLayoutManager.HORIZONTAL);

需要一个关于RecyclerView.Adapter.notifyItemChanged(int position,Object payload)的例子

首先,我的英语很抱歉。 根据RecyclerView有关方法notifyItemChanged(int position,Object payload)的文档, 通知任何注册的观察者,位置的项目已经改变了可选的有效载荷对象。 我不明白如何在这个方法中使用第二个参数payload 。 我搜查了许多有关“有效载荷”的文件,但一切都是模棱两可的。 所以,如果你知道这个方法,请给我一个清晰的例子。 非常感谢你。

与CoordinatorLayout嵌套的RecyclerView

我的问题就像这个问题滚动行为在嵌套RecyclerView水平滚动 就像Google Play商店一样,我在RecyclerView的父级中embedded了RecyclerView(Horizo​​ntal)。 父RecyclerView是CoordinatorLayout的一个子项,当父RecyclerView滚动发生时,工具栏展开和折叠。 一切工作正常的孩子以外的触摸RecyclerView和向上滚动CollapsingToolbar得到崩溃, 但当我触摸其中一个孩子RecyclerView和向上滚动,然后父RecyclerView滚动和CollapsingToolbar不起作用。 如果需要,那么我会在这里添加我的源代码.. 任何帮助将不胜感激!! 更新: CoordinatorLayout的活动 <?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout android:id="@+id/coord_layout" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".activity.ChannelHubOld"> <android.support.design.widget.AppBarLayout android:id="@+id/app_bar_layout" android:fitsSystemWindows="true" android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsing_toolbar" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_scrollFlags="scroll|exitUntilCollapsed" app:contentScrim="?attr/colorPrimary" android:fitsSystemWindows="true"> <RelativeLayout android:background="@color/pkDarkGrey" android:fitsSystemWindows="true" android:layout_width="match_parent" android:layout_height="200dp"> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" android:src="@drawable/sidebar_header"/> </RelativeLayout> <android.support.v7.widget.Toolbar android:id="@+id/my_toolbar" android:layout_width="match_parent" android:layout_height="?android:attr/actionBarSize" android:theme="@style/ActionBarWidget"/> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <!– Parent RecyclerView —> […]

我怎样才能从右到左用GridLayoutManager填充RecyclerView

我想用GridLayoutManager将一些数据填充到RecyclerView : GridLayoutManager layoutManager = new GridLayoutManager(this, 3, GridLayoutManager.VERTICAL, false); 这将从左到右将数据填入网格。 第一个项目将被放置在左上方等。 但是我正在开发的应用程序是为RTL语言devise的,所以我需要从右向左填充。 我试图将最后一个参数改为true 。 但它只是一直向下滚动RecyclerView 。 同时为RecyclerView设置layoutDirection属性不起作用(不考虑我的min API是16,并且为API17 +添加了这个属性): <android.support.v7.widget.RecyclerView android:id="@+id/grid" android:layoutDirection="rtl" android:layout_width="match_parent" android:layout_height="match_parent"/> 如何使用RecyclerView创build一个从左到右的填充网格?

如何通过最低数量/stringandroid studiosortingrecylerview

我在我的应用程序中有一个recylerview,它包含两个textview,一个是rankTextView,另一个是nameTextview。 像这样的东西; 我想要做的是对这个rec​​ylerview进行sorting,首先以最小的顺序进行sorting,如果有两个相同的数字,那么我希望它通过string进行sorting。 在上面的截图中,我举例说,两个人排名第一,首先我要recylerview把这些放在最前面,然后用String来sorting。 我已经在网上search,看看我怎么能做到这一点,但是对于android来说,我还没有能够把这些发现融入到我的项目中去。 例如; 如何在Android RecyclerView上对string进行sorting? 什么是SortedList <T>与RecyclerView.Adapter一起工作? 我已经创build了一个自定义的适配器,其中包含一个名为rankTextview的textview和另一个名为nameTextview的textview,就像这样; rankTextview = (TextView) itemView.findViewById(R.id.ranktextview); nameTextview = (TextView) itemView.findViewById(R.id.nametextview); 那么我有一个方法,把这些textview作为参数放入什么值,就像这样; public addPerson(String rankTextview, String personTextview,) { this.rankTextview = rankTextview; this.personTextview = personTextview; } 然后我在我的主类中调用这个方法来添加数据,就像这样; person.add(new addPerson ("1\nrank", "James Kub")); person.add(new addPerson ("2\nrank", "Peter Hanly")); person.add(new addPerson ("3\nrank", "Josh Penny")); person.add(new addPerson ("1\nrank", "Danny Jackson")); person.add(new […]

嵌套的RecyclerView。 如何防止父RecyclerView滚动而RecyclerView正在滚动?

我试图实现一个水平的recyclerview和recyclerview每个项目将是一个网格布局垂直recyclerview 。 我面临的问题是,当我试图垂直滚动子recyclerview有时父recyclerview采取滚动,并开始水平滚动。 我试图解决这个问题的方法是, 在parent recyclerview上的setNestedScrollingEnabled(false) 在onTouch() recyclerview的onTouch()中,我通过调用requestdisallowinterceptTouchevent(false)禁用父recyclerview requestdisallowinterceptTouchevent(false)上的触摸事件, 上述解决scheme都不能为问题提供完美的解决scheme。 任何帮助表示赞赏

java.lang.NullPointerException在android.support.v7.widget.RecyclerView.onMeasure

我尝试用RecyclerView.Adapter使用RecyclerView,但是这里有错误。 我发布我的代码如下: 布局: <android.support.v7.widget.RecyclerView xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/topic_view" android:scrollbars="vertical" android:layout_width="match_parent" android:layout_height="match_parent" /> topic_tile.xml: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="@dimen/tile_height"> <com.makeramen.RoundedImageView xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/avatar" android:padding="16dp" app:riv_corner_radius="72dp" android:layout_height="72dp" android:layout_width="72dp" /> <LinearLayout android:id="@+id/text_layout" android:orientation="vertical" android:paddingTop="@dimen/text_padding_top_and_bottom" android:paddingBottom="@dimen/text_padding_top_and_bottom" android:paddingRight="16dp" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/title" android:textSize="@dimen/primary_font" android:paddingLeft="@dimen/text_padding_left" android:textColor="#000000" android:text="Title" android:layout_width="match_parent" android:layout_height="wrap_content"/> <TextView android:id="@+id/author" android:textSize="@dimen/secondary_font" android:paddingLeft="@dimen/text_padding_left" android:text="author" android:layout_width="match_parent" android:layout_height="wrap_content"/> </LinearLayout> </RelativeLayout> 这里是onCreate() public class […]

为什么添加espresso-contrib会导致InflateException?

在我的build.gradle文件中,我有支持库依赖项: compile "com.android.support:appcompat-v7:22.2.0" compile "com.android.support:recyclerview-v7:22.2.0" compile "com.android.support:design:22.2.0" 我也有咖啡testing的依赖关系: androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2' androidTestCompile 'com.android.support.test.espresso:espresso-intents:2.2' 一切运行良好在这一点上,但是当我添加espresso-contrib的依赖关系,我的RecyclerView上得到一个InflateException android.view.InflateException: Binary XML file line #33: Error inflating class android.support.v7.widget.RecyclerView at android.view.LayoutInflater.createView(LayoutInflater.java:633) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743) at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) at android.view.LayoutInflater.inflate(LayoutInflater.java:504) at android.view.LayoutInflater.inflate(LayoutInflater.java:414) at android.view.LayoutInflater.inflate(LayoutInflater.java:365) at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:249) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:106) … Caused by: java.lang.IllegalStateException: Binary XML file line #33: Unable to find LayoutManager android.support.v7.widget.@2131296518 at android.support.v7.widget.RecyclerView.createLayoutManager(RecyclerView.java:500) […]

RecyclerView中的滚动条颜色

我如何更改recyclerView中滚动条的颜色? 我有滚动条,但我想改变它的颜色。 我的recyclerView是这样的: <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/recyclerView" android:layout_below="@id/my_toolbar" android:layout_above="@+id/progressBar" android:scrollbars="vertical" />

如何在项目animation期间禁用RecyclerView项目装饰图

我有一些基本的项目装饰,它在ItemDecoration.onDrawOver方法中绘制一些东西。 这RecyclerView也有它设置的DefaultItemAnimator 。 animation正在工作,一切都很好。 除了一件事。 当所有现有项目与在此适配器中设置的新项目交换时,animation正在运行时显示装饰。 我需要一种方法来隐藏它们。 当animation结束时,需要显示它们,但在运行时必须隐藏。 我尝试了以下内容: public void onDrawOver(…, RecyclerView.State state) { if(state.willRunPredictiveAnimations() || state.willRunSimpleAnimations()) { return; } // else do drawing stuff here } 但这没有帮助。 装饰仅在短时间内被移除,但在运行时再次出现。 还设置包括一个RecyclerView.Adapter hasStableIds()(以防万一)。