问题标签 [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 - BaseAdapter 与 CursorAdapter
我想知道何时使用每个适配器。根据我的经验,当我从 API 获取数据并将其存储在 Collection 对象中时,这篇文章BaseAdapters 很有用。但是,CursorAdapter 用于从数据库中查询内容,电话议程...通常,内容还具有内容提供者来从中查询信息。
所以基本上 BaseAdapter 用于没有内容提供者访问它们的查询,因为在这种情况下,CursorAdapter 将是最佳选择。那正确吗?
android - 无法弄清楚为什么滚动 ListView 时背景颜色的行为不稳定
我认为这个问题值得一读,在我看来......我试图详细解释,但抽象出来以方便您阅读。
我有一个
ListView
由自定义填充的CursorAdapter
.在
bindView()
方法中,我尝试设置孩子的颜色。这个孩子是一个
LinearLayout
,用于列表中项目的根布局。它在 XML 文件中,在自定义 CursorAdapterR.layout.list_item
的方法中膨胀。newView()
我使用下面的代码设置背景颜色。
/li>
setBackgroundColor
除了if 块之外,不要担心任何事情。你会看到的。
预期的行为:一些孩子将被绘制DKGRAY
并将 * 附加到某个 textView。其他将是默认颜色并且没有这个 *. 我使用这个 * 标签只是为了确保它不是(直接)我的代码。
行为:当 ListView 最初显示时,它看起来很好,正如预期的那样。当我滚动列表时,它变得“奇怪”(我不明白),一些孩子会开始改变颜色,直到所有孩子都被涂上DKGRAY
。
现在,最糟糕的是这行得通:
正确的孩子被绘制成 DKGRAY 和 GREY,滚动列表不会使列表颜色变得疯狂。颜色没有变化,一切似乎都很好。除了,当然,我不想要 DKGRAY 和 GREY,我想要 DKGRAY,别管其他孩子。¬¬
请帮我!
图片如下。查看第一列中的 * 在不同日期之间如何正常工作,但颜色却不行。
1-我开始滚动,一些孩子已经有缺陷:
2-我完成上下滚动,最后所有孩子都有缺陷:
3-但是当我为所有孩子设置颜色时,滚动不会搞砸:
android - 我要使用什么 CursorAdapter?
CursorAdapter 有 3 个构造函数。让我们看看指南和参考。
1)CursorAdapter(上下文上下文,光标c)
此构造函数已弃用。不鼓励使用此选项,因为它会导致在应用程序的 UI 线程上执行游标查询,从而导致响应速度不佳甚至应用程序无响应错误。作为替代方案,将 LoaderManager 与 CursorLoader 一起使用。
2)CursorAdapter(上下文上下文,Cursor c,布尔自动重新查询)
允许控制自动重新查询的构造函数。建议您不要使用 this,而是使用 CursorAdapter(Context, Cursor, int)。
3)CursorAdapter(上下文上下文,光标c,int标志)
推荐的构造函数。
flags 用于确定适配器行为的标志;可以是 FLAG_AUTO_REQUERY 和 FLAG_REGISTER_CONTENT_OBSERVER 的任意组合。
FLAG_AUTO_REQUERY 此常量已弃用。不鼓励使用此选项,因为它会导致在应用程序的 UI 线程上执行游标查询,从而导致响应速度不佳甚至应用程序无响应错误。作为替代方案,将 LoaderManager 与 CursorLoader 一起使用。
FLAG_REGISTER_CONTENT_OBSERVER。将 CursorAdapter 与 CursorLoader 一起使用时,不需要此标志。
CursorAdapter(Context context, Cursor c, int flags) 是推荐的构造函数,但可能的标志是 2,一个已弃用,另一个在使用带有 CursorLoader 的 CursorAdapter 时不需要。如果我将 CursorAdapter 与 CursorLoader 一起使用,我必须使用此构造函数并将零作为标志传递?在这种情况下,构造函数是否与 #1 相同?
android - 如何修改 runQueryOnBackgroundThread 以识别我来自哪里的活动?
我有三个选项卡式活动,每个人都是具有相同 cursorAdapter 的 listView。当然,每个活动都有不同的光标(它们之间的唯一区别是where
字符串)。
我已经覆盖了runQueryOnBackgroundThread()
适配器中的 以获得过滤列表。
当我在runQueryOnBackgroundThread()
方法中时,我需要知道我来自的 Activity,因为我需要在filtered
查询中添加一个字符串
android - Android - 如何使用一条记录(光标)为 ListView 中的多个列表项填充数据?
有谁知道如何达到以下要求?
查询数据库时,只返回一条记录。此记录将用于填充 ListView 中的几个列表项(例如 5 个条目)。
由于它只有一条记录,因此我在填充第二至第五个条目的条目时遇到了困难。
我正在使用CursorLoader
从数据库中查询数据。
谢谢
android - Android:如何从 XML 文件中的数据创建 CursorAdapter
在 android 中,我们可以从 XML 文件中的数据创建 CursorAdapter 吗?这是实际的问题:
我需要创建一个 ListView ,其项目可能会有所不同。每个项目都有三个字段:ItemName、ItemValue、ItemUnit。如果适配器是从提供给应用程序的外部文件(例如:XML 文件)创建的,则项目数及其字段值可以在不更改应用程序代码的情况下更改。实现这一目标的最佳方法是什么?
android - 光标适配器和按钮
我有一个数据库。数据库中的值显示在列表视图中。列表视图有一个位图、4 个文本视图和 2 个按钮。我为我的 2 个按钮编写了两个不同的 OnClickListener,但是这两种方法都不成功。当我单击按钮时,程序会崩溃,当它尝试执行“tvText1.setText(...)”时
有人知道如何解决吗?
xml 文件中的按钮看起来像:
这是我的光标适配器
谢谢您的帮助。
干杯
菲利克斯
评论。
整个布局文件
评论评论:
现在我删除了 tv.Text1.setText("On")。对于 On-button 仍然有一个例外。对于关闭按钮,system.out.println() 运行良好。
这是代码的一部分:
android - 带有 TextView 和 Button 的列表视图。单击的按钮的 RowId
我有一个如下的列表视图。TextView 中的文本来自数据库。
当我单击按钮时,我想在 Toast 中显示该行的 TextView 中的文本。
我的问题如下:当我单击按钮时,我正在显示由光标选择的行的文本。我没有显示按钮所在行的文本。我知道问题出在 mCursor 变量上。
我不知道如何解决它。有人有想法吗?
这是我的 ModulCursorAdapter:
评论
xml 文件中的按钮:
MainActivity 中的 OnClick 方法
主要活动
Notes.DbAdapter.fetchAllNotes() 方法
谢谢。
菲利克斯
android - 如何使用 CursorAdapter 从 ListView 中删除所选项目
我正在使用CursorAdapter
,下面是我的适配器类。我的列表由两个文本视图和每行一个按钮组成。现在,单击按钮后,我想从列表和数据库中删除所选项目。如何从数据库中获取所选项目的 id,以便我可以将其删除,然后通知适配器(刷新列表)。
android - Android:如何注销 CursorAdapter 的 ContentObserver 和 DataSetObserver
我发现 CursorAdapter 侧没有用于取消注册它应用的 ContentObserver 和 DataSetObserver 的接口。我只能使用 Cursor.getCursor().close() 来关闭游标,但不能取消注册其观察者。