问题标签 [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.

0 投票
1 回答
1135 浏览

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" 之外,我不确定如何打开/关闭此功能。

0 投票
2 回答
6597 浏览

android - 使用 SimpleAdapter 更改 ListView 中项目的颜色

我正在使用 SimpleAdapter 填充 ListView

R.layout.list_cibo 的 XML

我使用三个不同的 SimpleAdapter 来创建三个不同的列表,基于三种不同的颜色;我想做的是只创建一个列表,根据参数,用三种颜色中的一种为每个项目着色。

我尝试使用修改 TextViews , .setColor但它不起作用。

0 投票
2 回答
7250 浏览

android - Android:如何在自定义 SimpleAdapter 中删除项目时刷新列表

在自定义 SimpleAdapter 中删除地图列表项后,我可以知道如何刷新 ListView 项吗?

我已经使用 list.remove(position) 成功实现了删除列表项,但是当我尝试调用 list.notifyAll() 函数时,它给了我类似“ java.lang.IllegalMonitorStateException: object not locked by thread before notifyAll 之类的错误消息()”。

我希望你能帮助我。这是自定义 SimpleAdapter 的代码。

预先感谢您的帮助。

0 投票
1 回答
8701 浏览

android - 如何在 ListView android 中显示图像

我一直在寻找有关如何执行此操作的示例。在 StackOverflow 上发现了一种使用 SimpleAdapter 和 HashMaps 的方法。这是我的代码。它不工作。我所能看到的只是列表的空行。

image_list_item.xml:

list_item.xml:

请告诉我我做错了什么。

0 投票
1 回答
906 浏览

android - Android - 将用户拍摄的照片添加到列表视图中

我目前有一个简单的列表视图适配器,其中包含两行文本。我接下来要做的是添加显示用户在列表视图中拍摄的照片的选项。我修改了我的列表适配器,如下所示:

然后我像往常一样将它添加到哈希映射并刷新适配器:

最后,这是结果活动的代码:

但是我遇到了一个问题。位图形式的照片未添加到列表视图中。它只是显示为空白区域。我在这里做错了吗?其次,如果用户决定不拍照,则不应显示图像视图。我不确定如何实现这一点。我应该创建一个自定义列表适配器吗?

谢谢你的帮助

0 投票
1 回答
386 浏览

android - 正确获取 ListVew 中行的 _id

我有一个ListView显示 SQLite 表中的一组值。首先,我使用 aSimpleCursorAdapter来填充ListView基于 SQL 查询的游标。我改用 aSimpleAdapter是因为我必须在列表中操作/添加数据,然后才能将其发送到ListView.

使用敲击一行后SimpleCursorAdapter返回的idListView是数据库表中正确的id,但是使用SimpleAdapterid看起来就像它刚刚生成的一样,ListView因为它与位置相同。

我的表如下所示:

_id | col1 | col2 | col3

生成光标的方法SimpleCursorAdapter如下所示:

填写ListViewusing的方法SimpleCursorAdapter如下所示:

这很好用,因为在以下方法中返回的 id 是可以的:

现在切换到SimpleAdapter.

生成的代码List

然后对于填充的方法ListView

在最后一种方法中,ListView无法获取_id列表中的值。我猜想它会像使用SimpleCursorAdapter

有没有办法操纵 a 中行的 idListView以确保它与_id数据库表中的键具有相同的值?

(所有代码示例都大大简化了)

编辑:

我想到了。我必须创建自己的子类,SimpleAdapter其中覆盖public long getItemId(int position)

0 投票
4 回答
4749 浏览

android - Android Listview simpleadapter onClick,如何找到点击了哪个视图?

我有一个使用 simpleAdapter 构建的列表视图,每一行都由一个包含 TableRow 和一些 TextView 的布局定义。

我应该怎么做才能知道单击了哪个 TextView(在布局中)?

如果我在 Listview 上使用 OnItemClickListener,我可以获得 listview 行(位置),但是它不会告诉我点击了该行上的哪个 TextView。

我想根据用户在列表视图中单击的 TextView 采取不同的操作

我想知道,第 2 行的 TextView2 被点击了。

希望我能很好地解释自己。

谢谢

0 投票
1 回答
199 浏览

android - 避免每次启动活动时在列表视图中添加 SQLite 表

我正在尝试使用 SimpleAdapter 和 TableView 显示我的 SQLite 表的内容。它在第一次启动时工作得很好,但是当我重新启动 Activity 时,它会在 listView 中再次添加表格。每次我从前面的菜单启动意图时都会发生这种情况。

在我看来,SimpleAdapter 是上次存储的,并在从菜单打开意图时再次添加?

也许有一种方法可以在每次启动适配器时重置它?

我是编程新手,希望有人可以帮助我:)

一些代码:

0 投票
0 回答
316 浏览

android - 如何在 SimpleAdapter 中将 ViewBinder 与联系人一起使用?

我想在其中设置一个ViewBinder并将SimpleAdapter联系人照片放入其中。有人可以告诉我怎么做吗?在这段代码中,我将联系人中的姓名和号码放入ListView,但我现在不知道如何放入照片。

0 投票
2 回答
1667 浏览

android - 如何使 SimpleAdapter 在 Android 中成为单例?

我意识到,如果您尝试扩展 SimpleAdapter 类,则必须将构造函数公开 -

但这会使某人(或我)可能不小心创建一个新适配器,对吗?

我试图使适配器中的所有数据和方法都是静态的,但这似乎不是正确的做事方式......?对不起,我不是太挑剔。我只是不希望有人意外实例化 MySimpleAdapter 的实例

我应该如何让这个类成为单身人士?

我使用 SimpleAdapter 的方式是我用它作为一个容器来保存我在动态收缩/增长的列表视图中需要的所有对象。在应用程序中的任何位置,都应该只有一个这样的容器。我是否正确地解决了这个问题?