问题标签 [convertview]
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 - 具有多行视图的自定义适配器中的 convertView
我正在listview
基于这个(非常有用的)教程实现自定义适配器,它处理多种类型的行:http: //logc.at/2011/10/10/handling-listviews-with-multiple-row-types/
现在,我以为我什么都明白了,但有一件事让我感到困惑。在getView 方法中,我们收到convertView,它假设是具有特定布局的视图(组),以显示在列表视图的特定行中。
但是,在有多种类型的行的情况下listview
(例如,带有分隔符的动物列表,标题如“mamals”、“fish”、“birds”)如何listview
知道convertView
要发送什么?它可以是两种完全不同的类型之一。有些事情对我来说很不清楚。有人可以解释一下吗?
expandablelistadapter - 将动态创建的视图添加到可扩展列表视图 android 中的转换视图
这是我的第一个问题,我需要动态添加textViews
到可扩展方法convertView
中返回的那个getChildView()
,但我不能以任何方式做..
但我不能添加textView
到convertView
. 应用程序总是返回意外行为。
android - 在使用异步下载的位图调用 setImageBitmap 后,Android ListView 尝试重用可见单元格
当 ListView 适配器向 getView 方法提供相同的 convertViews 时,我有非常奇怪的行为,即使它们都是可见的:
getView(); 0; holder: ViewHolder@4289bde8
getView(); 1; holder: ViewHolder@4289bde8
getView(); 4; holder: ViewHolder@4289bde8
getView(); 2; holder: ViewHolder@4289bde8
getView(); 3; holder: ViewHolder@4289bde8
仅当我使用异步下载的图像调用 setImageBitmap 时才会发生这种情况。如果使用静态位图(例如来自资源的位图)调用此方法 - 一切都按设计进行:
getView(); 2; holder: ViewHolder@426fd408
getView(); 1; holder: ViewHolder@42899128
getView(); 0; holder: ViewHolder@4289bdf0
getView(); 4; holder: ViewHolder@4289b598
getView(); 5; holder: ViewHolder@4289b480
android - ConvertView 项目部分更新
我的活动中有自定义 ListView,它使用 ConvertView 模式和 ViewHolder。一切正常,但有时项目中的文本会被截断。这在屏幕截图中清晰可见:
看起来它重用了旧视图并且不更新文本长度。这是适配器代码的一部分:
这是项目布局:
如果我每次都不使用 ConverView 并膨胀布局,它看起来还不错。有什么想法可以解决这个问题吗?
android - 滚动列表视图时出现错误的“convertView”对象
我的问题是,当我滚动列表视图时,convertView 出错了,但位置是正确的。
我的 Listview 中有 3 个项目,加载时使用索引'0'调用 'position' 参数,并且 convertView 为null。
当我一个一个滚动时,下一个项目'位置'是'1'并且convertView也为空。
问题出在第 3 项上,“位置”是“2”,但“convertView”不是 null,它由第一项 convertView填充。
这是为什么 ?
}
android - ListView 上的图像混乱(即使使用 viewHolder)
作为对 a 的有效使用BaseAdapter
,我使用 ViewHolder 来保存要回收的物品。
通常我用库加载图像,ImageLoader
没关系。
这次我从 ByteArray 加载图像,但是当我加载它们并滚动 ListView 时,我得到了一团糟。
这是我的代码:
我该如何解决?
谢谢。
android - 在这个getView中初始化RelativeLayout,程序化视图生成
我在适配器中使用 getView,我正在创建一个 imageview 并使其等于之前已经初始化视图的 convertView。它包含图像缩略图,其中一些代表视频。
缩略图上没有“播放”按钮来指定它们是视频,因此在这些情况下,我需要以编程方式添加播放按钮。
通常我使用带有膨胀布局的视图模式,在这种情况下我不会这样做,因为我实际上不希望内存中有一些东西。
因此,我想以编程方式将 RelativeLayout 作为每个单元格(mRelativeLayout = (RelativeLayout)convertView
)的根视图,并将图像视图和播放按钮图像视图添加到该转换视图中
我怎么做?它需要修改此语句,但我不确定如何初始化所有重用的视图
android - ViewHolder 乱七八糟的视图
我在我的 listView 中实现了 ViewHolder 和 convertView。我的 listView 由一个自定义适配器填充,其中包含一个预订列表。当我单击一个项目时,一个不可见的布局会从右向左滑入,以显示按钮。我可以通过单击关闭按钮关闭此覆盖布局,使其再次隐藏。在这个覆盖布局上,我有一个删除按钮,它使我能够删除该项目。到目前为止,一切都很好。当我擦除一个项目时,该项目按预期消失,然后重新加载适配器。下面的项目占据已删除项目的位置,但仍然不可见。我知道它在这里,因为我仍然可以单击该项目来触发覆盖视图。所以覆盖视图是可见的,但不是项目。我不知道为什么会这样。我怀疑 ViewHolder 应对这种行为负责,但我不能 找不到解决办法。谢谢您的帮助。
在这里观看视频:http: //youtu.be/KBGEvbUq-V0
我的预订课程:
并且项目膨胀了:
button - 如何使用android中自定义listview的每一行中的两个按钮来增加和减少textview的值
这是我的代码,但是当我运行它时,输出与我不想要的所有列表视图行相同。
我想要所有行的独立输出.....
输出 :
b1
b2
是两个按钮,是t1
1 行列表视图的文本视图,2 是文本视图 1 的值
就像我点击按钮时值增加或减少,最后分配到 2
android - Android ListView 项目:stableIds 但位置不正确
不幸的是,我真的认为我必须稍微广泛地解释一下我的情况。
我正在编写一个关于古代拉丁语的安卓应用程序:我的目标是向用户展示拉丁动词的整个变位,并在他们搜索特定的变形形式时为他们提供正确的语言分析。这是我的清单。
只要知道,为了实现第一个目标,我会自动将每个动词的所有形式创建为字符串,并且每个变位都显示为一个简单的 ListView,只有一个 TextView 字符串作为项目:一个项目 = 一个变形的口头形式。
现在,我需要自定义我的项目,有时修改它们的 textStyle,有时修改它们的对齐方式等。为此,我以这种方式创建了我的自定义 ListAdapter:
问题是,在第 19 项之后出现了问题,因为我没有收到错误消息,也没有应用程序崩溃,但是我的自定义代码不再起作用,并且应该具有某些功能的项目具有相反的其他功能。当我上下滚动列表时,这种情况会变得更糟。
在我阅读之后,我真的认为这个问题与我的自定义适配器的 getView() 调用的 convertview 变量的回收目标有关。
这是我的问题:为什么即使使用稳定的 id(我将其与关联的项目字符串一起存储在 mIdMap 中)也会发生这种情况,以及如何将我的项目与不正确的位置变量分离?
更新
这是我用来填充 mIdMap 和 ids 的代码:
其中 displ_conj 是我存储数据的 ArrayList。mIdMap 存储一个long变量,因为 getItemId() 必须返回一个 long 并且我需要在其他地方做一些事情。