问题标签 [android-recyclerview]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 在 Recyclerview 出现之前测量它
我目前在测量 recyclerView 出现之前遇到问题。我需要 measureHeight 才能开始“展开”动画。
这是以前在我正在处理的代码中为 gridView 完成的,我正在尝试使用 GridLayoutManager 将其迁移到 RecyclerView
它与 gridView 一起工作,但如果我在 recyclerView 上调用具有相同测量规格的测量方法,结果总是 16777215,我认为这可能是某些东西的最大值,但我不能说是什么。
我看到一些帖子解释说,可以通过以下测量规格测量视图,然后在屏幕上呈现视图之前对其进行测量:
但我为 recyclerView.getMeasuredHeight(); 得到 0。
有没有办法在 recyclerView 在屏幕上呈现之前正确测量它的高度?
谢谢。
java - 将 MotionEvents 从 RecyclerView.OnItemTouchListener 传递给 GestureDetectorCompat
我有一个实现 RecyclerView.OnItemTouchListener 的片段。如何仅将 RecyclerView 中的单击和长按运动事件传递给 GestureDetectorCompat。那就是我的意思是我只想处理点击和长按,其余的事件应该由 RecyclerView 处理,因为它会正常发生。我该如何设置?
android - RecyclerView:异步图像加载
我RecyclerView
用来显示一个包含imageView
. 为了使 UI 更流畅,我将保存在 sd 卡上的 58dp 缩略图加载到这些带有asyncTask
.
问题是,一旦childView
出现视觉显示,来自另一个数据的旧图像将被重复使用,然后在AsyncTask
完成后替换。imageView
我可以通过将位图设置为 null in来停止洗牌onPreExecute
。
有没有办法真正重用旧图像,或者每次新图像View
到位时我真的必须从 sd 卡加载图像?这使得视图非常难看,因为要么首先有错误的图像,要么图像是纯白色的。
android - Is there an addHeaderView equivalent for RecyclerView?
I'm looking for an equivalent to addHeaderView for a recycler view. Basically I want to have an image with 2 buttons be added as a header to the listview. Is there a different way to add a header view to a recycler view? An example for guidance would be helpful
EDIT 2 (added fragment layouts):
After adding log statements, it seems as though getViewType only ever receives a position of 0. This leads to onCreateView only loading the one layout:
The fragment transition to load the CommentFragment:
The Fragment's onCreateView:
The fragment containing the recycleview:
The comments row layout:
The header
The Adapter code (thanks to hister for getting me started):
Using the above code, only the header layout is displayed as viewType is always 0. It looks like this. If I force the other layout it looks like this:
android - 如何在 RecyclerView 中使用 GridLayoutAnimation?
我正在尝试用新的 RecyclerView(使用 GridLayoutManager)替换我的 GridView,但它似乎不能很好地处理 gridLayoutAnimation(ClassCastException: LayoutAnimationController$AnimationParameters cannot be cast to GridLayoutAnimationController$AnimationParameters
)。它适用于常规布局动画,但由于它是网格,因此在平板电脑上完成需要很长时间。
我想要完成的是类似于Hierarchical Timing。如果您查看示例视频,它会显示布局动画从左上角到右下角对角线。常规布局动画将逐行执行动画,因此在更大的网格(例如平板电脑)上完成需要花费太多时间。我也尝试过探索 ItemAnimator,但这只会像“不要”示例中那样同时在所有单元格上运行动画。
有没有办法在 RecyclerView 中完成这个网格布局动画?
这是 gridview_layout_animation.xml:
这是动画grow_in.xml:
编辑:根据 Galaxas0 的回答,这里有一个解决方案,只需要您使用扩展的自定义视图RecyclerView
。基本上只覆盖attachLayoutAnimationParameters()
方法。使用<gridLayoutAnimation>
它就像使用 GridView 一样。
android - 如何用 RecyclerView 实现无限列表?
我想更改ListView
为RecyclerView
. 我想使用onScroll
inOnScrollListener
来RecyclerView
确定用户是否滚动到列表的末尾。
我如何知道用户是否滚动到列表末尾以便我可以从 REST 服务获取新数据?
android - 错误:属性“主题”已被定义
我正在使用 Android Studio 构建应用程序。我正在使用以下依赖项:
- 播放服务:
compile 'com.google.android.gms:play-services:5.2.08'
- 应用实战 v7:
compile 'com.android.support:appcompat-v7:21.0.0'
- 支持卡片视图:
compile 'com.android.support:cardview-v7:21.0.0'
- 支持回收站视图:
compile 'com.android.support:recyclerview-v7:21.0.0'
在构建我的应用程序时出现以下错误:
代码样式.xml
代码 wallet_attrs.xml
android - RecyclerView notifyItemInserted IllegalStateException
我正在将我的适配器移植到RecyclerView.Adapter
我想要实现的目标: 当用户在接近尾声时向下滚动时,我想开始获取数据,我还想在最后添加我的 ProgressBar 视图,让用户知道更多数据即将到来。
我在 BaseAdapter 中实现这一点的方式:在getView
接近结尾处请求的视图中,我将开始获取更多数据,调用 notifyDataSetChanged(以显示 ProgressBar 视图),然后才返回所需的视图getView
。
我在 RecyclerView.Adapter 中尝试做的事情:我基本上尝试做同样的事情,这次是在方法onBindViewHolder
中,
但是如果我尝试notifyItemInserted
在这个方法中调用,我会得到以下异常:
我尝试了什么:我注意到它onBindViewHolder
是从onLayoutChildren
from调用的LayoutManager
,我尝试覆盖它并notifyItemInserted
在它之后调用,super
但我得到了同样的异常
我怎样才能实现我的目标?
android - RecyclerView:突出显示选定的项目
我已经实现了 aRecyclerView
并且我已经将它设置为使用CAB
. 但是如何突出显示选定的项目?如果我检查了某个位置,我存储在一个SparseBooleanArray
. 我的第一个想法是将View
包含所有元素的特定内容存储在我的所有元素中ViewHolder
,然后以onBindViewHolder
某种方式将背景设置为:?android:attr/activatedBackgroundIndicator
但是我该怎么做呢?这是一个有用的方法吗?