当前位置: 首页 > 知识库问答 >
问题:

回收器视图以编程方式“修改”给定位置的项目

董胡媚
2023-03-14

使用Android的recyclerView,我想更改给定项目的背景(即使它当前不可见)。

我看到的所有教程都展示了如何使用OnItemClickListener访问视图,但在我的示例中,这必须以编程方式完成,而不需要用户执行任何操作。我只想检索视图,并能够在其上应用.setbackground()findViewById()等函数。

我怎样才能做到这一点,拥有我想要编辑的视图的位置?

共有1个答案

嵇星海
2023-03-14

为了修改RecyclerView中列表项的背景,您必须执行以下操作:

>

  • 修改RecolyerView.ViewWholder以便它将根据RecolyerView.Adapter.OnBindViewWholder中传递给它的数据更改视图的背景。

    修改RecolyerView.Adapter.OnBindViewWholder以根据背景的暗度将数据传递给RecolyerView.ViewWholder

    RecolyerView.Adapter上调用NotifyDataSetChanged()以更新GUI上的RecolyerView

  •  类似资料:
    • 我使用了以下代码。我试图在回收器视图中膨胀多个布局。用这个我得到了铸造错误。无法将ViewWholder1转换为OnBindViewWholder中的ViewWholder(第二个ViewWholder)。通过一些调试,我发现OnCreateViewWholder中的int viewtype调用的位置不同于OnBindViewWholder中的int位置。你能解释一下两者的区别吗?我能做些什么来纠

    • 如何以编程方式设置属性?

    • 我有一个UIViewController(),它管理一个包含两个子视图的视图,我使用脚本创建了这两个子视图。现在我希望这两个子视图由它们自己的模型控制器管理,因此应用程序完成的大部分工作都是分布式的,而不是集中在这一个控制器上。 我尝试在视图控制器上设置视图,但它不起作用(至少其他控制器上的没有被调用,尽管视图显示)。在的中,我有以下内容: 我该怎么做?还有,这是个好主意吗?

    • Webdriver driver=新Webdriver;Driver.FindElement(By.id(“ID已粘贴在此处”)); 然而,手动查找ids和其他东西并阅读所有HTML内容是很难的,而且相当混乱,因为我还没有真正深入研究web设计,所以Javascript、CSS、XML和HTML对我来说都是比较新的。我知道一些(非常)基础,但我无法找到我的方式周围的一个良好的设计网站。 就是能够点

    • 我有一个包含水平回收视图的具有底部表行为的碎片。回收视图由SnapHelper调整以实现页面效果。它看起来像这样: 在片段中的onCreateView事件中,我设置了Adapter和LayoutManager: 在我设置适配器之后,在MyRecycorAdapter类对象中触发onCreateViewHolder事件,然后是onBindViewHolder: 当我第一次创建这个片段并配置Recyc

    • 如何在java中向文本视图添加样式?我试图在我的价值观/风格下添加一个。xml,而不是单独添加每个属性。