问题标签 [android-cursoradapter]
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 - 从 ListView 获取选定的视图
我正在使用 aCursorAdapter
来处理我的ListActivity
:
CursorAdapter
和我的扩展和覆盖的适配器类bindView
:
我的列表项布局在 xml 文件中定义list_item.xml
:
如何TextView
在我的布局中切换 的可见性onListItemClick
?我试过了:
但它似乎是在随机选择要切换的列表项,无论我点击哪个。
android - 使用 asynctask 从内容提供者加载图像位图
我一直在尝试通过 MediaStore 内容提供程序查询 sd 卡上的所有图像,并在 GridView 上显示它们的缩略图。
但是,如果我在主线程上加载图像缩略图,滚动会变得非常慢......
所以我尝试通过 asynctasks 加载位图:滚动性能变得更好,但现在网格项目不断重新加载它们的缩略图,直到它获得正确的位图......
这是我的异步任务,它加载位图:
这是我的自定义光标适配器:
我使用此代码查询光标并将其发送到适配器:
看起来我的自定义光标适配器上的 bindview() 被调用的频率比预期的要高......任何人都知道如何让我的 gridview 上的图像在保持滚动性能的同时停止重新加载?
提前致谢。
android - 使用 SimpleCursorTreeAdapter 在 ExpandableListView 子视图中单击按钮的侦听器
这是我正在使用的内容:我有一个 ExpandableListView,它使用 SimpleCursorTreeAdapter 从 SQLite 数据库填充视图。我正在使用自定义组和子视图,组和子视图中都有按钮。我需要知道如何在这些按钮上设置按钮侦听器,以便在调用侦听器时,我知道它来自哪一行(或光标 ID)。我可以在ChildItemDetailsClicked() 上设置一个工作侦听器,但在侦听器内部我不知道哪一行对应于按下的按钮。有任何想法吗?
组视图:
子视图:
android - 创建自定义简单光标适配器
我想创建一个非常简单的光标自定义光标适配器,以方便在单击时更改行项的颜色。使用以下代码
我从这个线程得到了代码https://stackoverflow.com/a/7649880/498449
我会使用一个简单的光标适配器并将代码放在 onClick 中,但是因为 ListFragment 中的默认列表重用了视图,所以当您滚动多个视图时显示为突出显示。谈到 IRC,有人建议我创建一个自定义光标适配器。但是,我似乎无法找到如何做到这一点的最佳实践,以及上面的代码片段适合的位置。非常感谢您的帮助。
我已经用我在网上找到的一些代码更新了光标适配器。但是,我有两个问题。1. 我正在使用游标加载器,所以我没有“游标”对象传递给构造函数。2. 我收到来自 Eclipse 的警告,构造函数已被弃用。
android - 为什么我的 listView 不显示插入的行?
我有一个自定义 cursorAdapter 肯定缺少一些东西,因为当我在数据库中添加一个项目时,它不会显示在 listView 上,但是如果我重新启动应用程序,它会显示添加的行。
这是我的活动和我的 customAdapter :
感谢您的关注。
编辑:我找到了解决方案,但我讨厌它,我希望有其他解决方案。
现在我有我的活动:
我觉得这很疯狂,更新后应该有一种更简单的方法来更新列表。在这里,我正在重新创建一个游标,重新创建一个我用新游标提供的 cursorAdapter,然后将此 cursorAdapter 影响到 listView。这是来自 android doc 的记事本示例,但我确信有一种方法可以通过操纵光标来更新适配器和 listView,但我不够聪明,无法弄清楚。
android - 具有不同行类型的 CustomAdapter
我的customAdapter 有问题,我希望它显示一个editText,然后显示来自数据库的列表,然后再显示一个editText。
让我向您展示我的适配器代码:
结果是我有数据库中的列表,但根本没有 editText。由于我是 android 新手,我显然误解了一些东西,或者根本不明白,当然是关于 bindView 和 newView。
感谢您的关注。
编辑:好的,我很难解释我想要什么,对此感到抱歉(加上我的代码误会你的方式,因为它是错误的:()
我想要的是以下模板:具有自定义 cursorAdapter 的 ListView 具有此结构:
一个空的 EditText(用户可以在其中单击以在数据库中添加一行)
在 textViews 中显示来自数据库表的数据的行列表
在最后一行,另一个 editText 与第一行具有相同的目的。
我试图了解自定义适配器是如何工作的,我已经阅读了资料,但我不知道如何在我的情况下做到这一点。
android - Android 使用带有 onContentChanged() 的自定义 CursorAdapter
我仍在尝试通过在 listView 上使用 cursorAdapter 来编写好的代码。
我希望在我的活动中,当我更改游标中的数据时,它会自动更新适配器中的游标,更新适配器,当然还有 listView。
神奇的是,有这个函数:onContentChanged(),它是 CursorAdapter 的一个函数,当这个适配器的光标被“通知”时被调用。
但我没有调用这个函数。
现在是代码的有趣部分(不起作用),如果有人能告诉我我错在哪里以及我的误解是什么,我将不胜感激。
活动 :
光标适配器:
让我提醒你我的问题是我想调用这个函数,但它没有被调用。
还有数据库类,但我不知道它是否重要,因为数据库上的插入没问题:
好的,我的 2 个问题:
1)如何调用我的适配器的 onContentChanged() 函数(当然没有显式调用它)
2) 我想知道我的代码是否是使用自定义 cursorAdapter 提供 listView 的好方法。
感谢您的关注。
android - 当使用批处理操作插入许多行时,Android ContentProvider 会向 CursorAdapter 调用 setNotificationUri() 的突发
我有一个自定义ContentProvider
管理对 SQLite 数据库的访问。要在 a 中加载数据库表的内容ListFragment
,我使用LoaderManager
with aCursorLoader
和 a CursorAdapter
:
SQLite 数据库由后台任务更新,该任务从 Web 服务中获取许多项目,并通过ContentProvider
批处理操作将这些项目插入数据库 ( ContentResolver#applyBatch()
)。
即使这是一个批处理操作,ContentProvider#insert()
每个行的调用都会被插入到数据库中,并且在当前的实现中,每个插入命令的ContentProvider
调用setNotificationUri()
。
结果是CursorAdapter
接收到大量通知,导致 UI 更新过于频繁,从而产生烦人的闪烁效果。
理想情况下,当批处理操作正在进行时,应该有一种方法ContentObserver
只在任何批处理操作结束时通知,而不是在每个插入命令时通知。
有人知道这是否可能吗?请注意,我可以更改ContentProvider
实现并覆盖其任何方法。
android - Android 中的 RatingBars 和侦听器
我是 Android 和 Java 编程的新手。我有一个实现自定义光标适配器的类。问题是我需要能够访问侦听器内游标适配器中的一些信息。见下文:
非常感谢你。
android - 具有不同行类型说明的 CustomAdapter
我尝试在 Stackoverflow 上发布我的代码,但我认为这有太多错误需要修复。
因此,由于我最大的问题是误解,所以我只是询问我必须开发它的方式。
问题:我想做一个由自定义 cursorAdapter 提供的 listView。
为什么要自定义 cursorAdapter ?
因为现在,我想在 listView 的第一行有一个 editText,然后是数据库中的项目,然后在 listView 的最后一行有另一个 editText。我可以用页眉和页脚来解决它,但后来我想在同一个 listView 中有许多其他行模板,甚至可能有很多光标,这就是原因。
按照本教程,我尝试在适配器中使用多种类型:关于在一个列表视图中拥有多种行类型的链接
当然我重写了bindView 和newView。
但
它失败了。我有很多错误,比如我不知道如何直接将editText添加到我的listView等......对我来说最大的问题是理解,我只需要解释如何做到这一点,我的意思是我应该做什么在 bindView 中,我究竟应该在 newView 中做什么。
好的,我改变了主意,这是我的适配器的代码。小心,这可能很可怕。
注意:我稍后会修复一些优化,如 viewHolder 等......
注意2:以防万一,这是我的主要活动代码
不用担心:
1) 函数 showAlertWindowblabla() ==> 它有效
2) createNoteTop 函数也有效,它在数据库中插入一行。
感谢您的阅读,寻找您的答案。
编辑:好的,所以在做了一些 looooooong 的工作后,我越来越接近我想要的了。不幸的是我仍然有一个显示错误,当我修改一个字段时,我不知道为什么,他只是将该字段放在列表中的其他位置。我认为这是一个很容易修复的大错误(在 bindView 或 newView 方法上),但我很累,我找不到它的来源。因此,为了用一块石头杀死两只鸟,我发布了我的 customAdapter 的修改代码。