【问题标题】:how to show selection of the lst item in recycler view in android?如何在android的recyclerview中显示最后一项的选择?
【发布时间】:2015-05-06 11:52:06
【问题描述】:

我已经在 android 的导航抽屉中实现了回收器视图。这工作正常。我可以通过单击回收器视图项目在项目之间切换。 但我无法更改所选项目的背景颜色。请建议我如何实现它。到目前为止我已经尝试过了。

1.Background Selector in RecyclerView Item 试图让回收站视图可点击、可聚焦但没有用

2.http://innodroid.com/blog/post/tracking-selected-item-in-recyclerview

实现了,但不明白在哪里编写更改背景的代码

请帮帮我。

【问题讨论】:

标签: java android android-layout android-5.0-lollipop android-recyclerview


【解决方案1】:

您真正需要了解的是 RecyclerView 与带有时髦适配器的 Listview 的控件相同。

RecyclerView 没有表现出ListView 的许多功能,尽管将其与ListViewGridView(或事件StaggeredGridView)进行比较是可以理解的,但不应混淆它和他们一起。

对于RecyclerView,处理“背景更改”选择器的职责依赖于RecyclerView 所持有的底层控制。 onClick 和您在 ListView 中免费获得的许多其他福利也是如此。

为什么使用RecyclerViewListView 更好(或更糟)是另一回事,我不会讨论但要解决您的问题,以便在您的@987654334 上设置背景选择器@,将此添加到您在ViewHolder 中膨胀的布局(即在RecyclerView 内部 使用的实际布局,类似于您要膨胀的“列表行项”如果是ListView,则在 ArrayAdapter 中):

android:clickable="true"
android:background="?android:selectableItemBackground" 

应该适当地设置背景。

【讨论】:

  • 我只是建议如果列表视图可以为您完成工作,那么为什么要使用回收站视图,因为很难实现该点击功能和所有功能。为了用户在列表中只显示少数项目,请使用列表视图,除非您需要自定义视图。@kha
  • @TechGuy 很公平。我以为有官方对此的建议。虽然我同意 ListView 使用起来更简单,但 RecyclerView 有它的好处(例如非常容易交换 LayoutManager 和一些性能优势,所以我个人尝试在任何地方使用它。这也可能是因为我已经花了无数小时试图弄清楚它们是如何工作的,所以我想从这些时间中得到一些回报,或者我只是一个受虐狂:)。
【解决方案2】:

当您拥有非常大的物品并想要拥有自定义 UI 时,建议您使用回收站视图。如果您只想显示几个项目,建议使用列表视图。

【讨论】:

  • 你有这方面的参考吗?我以前从未听过这个论点,也不太明白它背后的原因,所以我很乐意为自己的利益考虑这个原因。
  • @TechGuy RecyclerView 的全部意义在于替换ListView
  • 投反对票,因为这甚至没有尝试解决问题,更不用说回答了。 (我也不同意假设的建议,因为使用 RecyclerView 的一个明显优势是它可以防止你犯下与实现 ListViews 的懒惰开发人员相同的常见错误,但这不是我反对的理由。) ListView 之间没有区别和 RecyclerView 与“大型项目”或“自定义 UI”有任何关系,因此在此基础上推荐一个没有任何意义。
猜你喜欢
  • 2021-01-09
  • 2019-01-26
  • 1970-01-01
  • 2016-12-22
  • 2021-11-07
  • 1970-01-01
  • 2021-11-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多