问题标签 [simpleadapter]
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.
java - 带有 SimpleAdapter 泄漏内存的 Android ListView
这是我之前的问题(Android 内存泄漏?)在进行一些研究并遵循一些建议的步骤之后的后续。
我的应用程序有一个 UI 循环,其中用户单击一个 ListView 项目,该项目在查询 Web api 后绘制另一个 ListView。单击一个项目将绘制另一个 ListView。用户可以多次重复此过程而无需完成活动。
这是我如何使用 SimpleAdapter 填充 ListView 的代码片段。
使用 DDMS 和 MAT,我注意到虽然 ListView 对象的数量没有增加,但 TextViews、RelativeLayouts 和 ImageViews 的数量随着用户点击和绘制新列表的次数而稳步增加。以下是这三个小部件 +ListView 在应用使用不同阶段的对象数。
该应用程序在打开时实际上并没有崩溃,只是响应速度变慢了。在中度/重度使用一段时间后,关闭和打开应用程序会在显示 ImageView 时导致 OutOfMemory 错误。
这是 list_item.xml ..
如果您查看此模板和上面的对象计数中的 2(TextViews) 与 1(ImageView) 与 1(RelativeLayout) 的比率,似乎 SimpleAdapter 创建的 ImageViews、TextViews 和 RelativeLayouts 没有正确释放。
有什么明显的我失踪了吗?我读过其他一些帖子,他们说这个问题似乎只发生在“调试”模式下。除了更改清单中的 android:debuggable="true" 或 "false" 之外,我不确定如何打开/关闭此功能。
android - 使用 SimpleAdapter 更改 ListView 中项目的颜色
我正在使用 SimpleAdapter 填充 ListView
R.layout.list_cibo 的 XML
我使用三个不同的 SimpleAdapter 来创建三个不同的列表,基于三种不同的颜色;我想做的是只创建一个列表,根据参数,用三种颜色中的一种为每个项目着色。
我尝试使用修改 TextViews , .setColor
但它不起作用。
android - Android:如何在自定义 SimpleAdapter 中删除项目时刷新列表
在自定义 SimpleAdapter 中删除地图列表项后,我可以知道如何刷新 ListView 项吗?
我已经使用 list.remove(position) 成功实现了删除列表项,但是当我尝试调用 list.notifyAll() 函数时,它给了我类似“ java.lang.IllegalMonitorStateException: object not locked by thread before notifyAll 之类的错误消息()”。
我希望你能帮助我。这是自定义 SimpleAdapter 的代码。
预先感谢您的帮助。
android - 如何在 ListView android 中显示图像
我一直在寻找有关如何执行此操作的示例。在 StackOverflow 上发现了一种使用 SimpleAdapter 和 HashMaps 的方法。这是我的代码。它不工作。我所能看到的只是列表的空行。
image_list_item.xml:
list_item.xml:
请告诉我我做错了什么。
android - Android - 将用户拍摄的照片添加到列表视图中
我目前有一个简单的列表视图适配器,其中包含两行文本。我接下来要做的是添加显示用户在列表视图中拍摄的照片的选项。我修改了我的列表适配器,如下所示:
然后我像往常一样将它添加到哈希映射并刷新适配器:
最后,这是结果活动的代码:
但是我遇到了一个问题。位图形式的照片未添加到列表视图中。它只是显示为空白区域。我在这里做错了吗?其次,如果用户决定不拍照,则不应显示图像视图。我不确定如何实现这一点。我应该创建一个自定义列表适配器吗?
谢谢你的帮助
android - 正确获取 ListVew 中行的 _id
我有一个ListView
显示 SQLite 表中的一组值。首先,我使用 aSimpleCursorAdapter
来填充ListView
基于 SQL 查询的游标。我改用 aSimpleAdapter
是因为我必须在列表中操作/添加数据,然后才能将其发送到ListView
.
使用敲击一行后SimpleCursorAdapter
返回的idListView
是数据库表中正确的id,但是使用SimpleAdapter
id看起来就像它刚刚生成的一样,ListView
因为它与位置相同。
我的表如下所示:
_id | col1 | col2 | col3
生成光标的方法SimpleCursorAdapter
如下所示:
填写ListView
using的方法SimpleCursorAdapter
如下所示:
这很好用,因为在以下方法中返回的 id 是可以的:
现在切换到SimpleAdapter
.
生成的代码List
:
然后对于填充的方法ListView
:
在最后一种方法中,ListView
无法获取_id
列表中的值。我猜想它会像使用SimpleCursorAdapter
有没有办法操纵 a 中行的 idListView
以确保它与_id
数据库表中的键具有相同的值?
(所有代码示例都大大简化了)
编辑:
我想到了。我必须创建自己的子类,SimpleAdapter
其中覆盖public long getItemId(int position)
android - Android Listview simpleadapter onClick,如何找到点击了哪个视图?
我有一个使用 simpleAdapter 构建的列表视图,每一行都由一个包含 TableRow 和一些 TextView 的布局定义。
我应该怎么做才能知道单击了哪个 TextView(在布局中)?
如果我在 Listview 上使用 OnItemClickListener,我可以获得 listview 行(位置),但是它不会告诉我点击了该行上的哪个 TextView。
我想根据用户在列表视图中单击的 TextView 采取不同的操作
我想知道,第 2 行的 TextView2 被点击了。
希望我能很好地解释自己。
谢谢
android - 避免每次启动活动时在列表视图中添加 SQLite 表
我正在尝试使用 SimpleAdapter 和 TableView 显示我的 SQLite 表的内容。它在第一次启动时工作得很好,但是当我重新启动 Activity 时,它会在 listView 中再次添加表格。每次我从前面的菜单启动意图时都会发生这种情况。
在我看来,SimpleAdapter 是上次存储的,并在从菜单打开意图时再次添加?
也许有一种方法可以在每次启动适配器时重置它?
我是编程新手,希望有人可以帮助我:)
一些代码:
android - 如何在 SimpleAdapter 中将 ViewBinder 与联系人一起使用?
我想在其中设置一个ViewBinder
并将SimpleAdapter
联系人照片放入其中。有人可以告诉我怎么做吗?在这段代码中,我将联系人中的姓名和号码放入ListView
,但我现在不知道如何放入照片。
android - 如何使 SimpleAdapter 在 Android 中成为单例?
我意识到,如果您尝试扩展 SimpleAdapter 类,则必须将构造函数公开 -
但这会使某人(或我)可能不小心创建一个新适配器,对吗?
我试图使适配器中的所有数据和方法都是静态的,但这似乎不是正确的做事方式......?对不起,我不是太挑剔。我只是不希望有人意外实例化 MySimpleAdapter 的实例
我应该如何让这个类成为单身人士?
我使用 SimpleAdapter 的方式是我用它作为一个容器来保存我在动态收缩/增长的列表视图中需要的所有对象。在应用程序中的任何位置,都应该只有一个这样的容器。我是否正确地解决了这个问题?