问题标签 [android-viewholder]

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.

0 投票
1 回答
1626 浏览

android - Problem with "ViewHolder" class in android

I have a problem with "ViewHolder" class. I use "ViewHolder" to improve my List display speech. I think the code is ok, but it throws exception when I am using "setText" with data from "Cursor". Here is my code:

0 投票
7 回答
270296 浏览

android - View 的 setTag() getTag() 方法的主要目的是什么?

setTag()此类方法和类型对象getTag()的主要目的是什么?View

我是否认为我可以将任意数量的对象与单个视图相关联?

0 投票
2 回答
13858 浏览

android - ViewHolder - 好习惯

一个小新手问题。为什么我们要初始化ViewHolderin getView()?为什么我们不能在构造函数中初始化它?

0 投票
2 回答
5699 浏览

java - 为什么在 ViewHolder 模式中 ViewHolder 类应该是静态的?

我只是想更好地理解我经常用来优化的以下模式ListView

我的阅读只指出静态内部类被视为顶级类的事实。与成员类(非静态)相比,这样的事情有什么好处?

0 投票
4 回答
69370 浏览

android - android中ViewHolder模式有什么好处?

当你在开发一个安卓程序时;并且你想拥有一个ArrayAdapter,你可以简单地拥有一个类(大多数时候使用ViewHolder后缀)或直接膨胀你的convertView并通过 id 找到你的视图。
那么使用 ViewHolder 有什么好处呢?
这里的例子:

或者在 ArrayAdapter 中创建一个内部类,如下所示:

最后在 getView 中:

0 投票
1 回答
1179 浏览

android - 如何从列表视图项的警报对话框(单选)中设置选定的值?

如何在我的列表视图项上设置从警报对话框(单选)中选择的值?...我的场景是:-我有带有按钮和文本视图的列表视图项-单击我的列表视图项中的按钮,打开对话框-选择对话框中单个选择列表中的值 - 想要在我的列表视图项内的文本视图中的对话框中显示此选定值

这是我的代码: 问题是:通过在对话框中设置更改了 listitem 视图中的值,在上下滚动时不会持续存在。

0 投票
1 回答
771 浏览

android - 在滚动列表视图上重置切换按钮

我有一个代码,向用户显示项目列表。切换按钮放置在列表项旁边。因此,当用户设置切换时,就会触发警报。现在的问题是,当我在列表中设置第一项的切换按钮时,当我滚动到列表视图的底部并再次返回到第一项时,它消失和/或重置。我对将其设置为保持选中状态感到非常困惑。请求此论坛中的某人帮助我。

我的班级 CSVAdapter。我附在这里。

0 投票
2 回答
815 浏览

android - ViewHolder Listview - 自定义适配器

我一直在阅读 Viewholders for listview 的好处是它们可以帮助提高 listview 滚动的性能。我一直在尝试为我的 CustomAdapter 实现它,但似乎我在某处做错了(不断崩溃)。那么我该如何在我的自定义适配器中实现一个视图?

0 投票
0 回答
98 浏览

android - setOnChildClickListener() 接收 viewholder 而不是特定的 View clicked

我一直在研究以下问题 2 天但没有白费。这是我第一次在这里发帖所以请多多包涵:)

问题:我的setOnChildClickListener(在一个Activity带有一个的内部ExpandableListView)接收一个整体ViewHolder作为View参数,而不是单击的特定小部件。这让我Activity对在ViewHolder.

换句话说,如果用户单击项目内的任何小部件,只要该小部件在适配器中setOnChildClickListener还没有设置,就会被触发。onclicklistener

我正在使用 ViewHolder,因为它被建议用于缓存目的。它位于ExpandableListView适配器中,里面有一堆字段,如下所示:

我的问题是,我如何让我Activity知道在里面点击了哪个确切的元素,ViewHolder这样我就可以做特定的事情,比如调出一个Fragment

笔记:

1)我的适配器正在完成大部分工作,包括为除此之外的大多数视图设置 onclicklisteners 2)我想以这种方式做事以确保我的活动处理片段,而不是适配器

如有必要,我很乐意提供更多详细信息。

先感谢您!!

0 投票
0 回答
394 浏览

android - 在 android 的 ViewHolder 模式中使用 SoftReference

我是这个 SoftReference 和 WeakReference 的新手。我正在制作一个通用ViewHolder模式,它使所有视图Hashtable都由 View 的 ID 键入。我决定将 SoftReference 用于 Hashtable,并将 SoftReference 用于 Hashtable 中的项目值。这是我的ViewHolder 类

我想知道以下

  1. 正确使用 SoftReference 吗?

  2. 如果我的活动被破坏并且我无法destroy()调用ListItemTagHolder. 会为 Hashtable 清理内存吗?

  3. 除非删除所有对 ListItemTagHolder 的引用,否则我每次都可以使用 Hashtable 中的所有项目吗?