问题标签 [simplecursoradapter]
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 - 从 SimpleCursorAdapter 访问 SQLite 值
我有一个名为“节点”的 SQLite 表,其中包含一组所有节点(每个节点都有多个属性)。
在一个活动中,我使用 SimpleCursorAdapter 的扩展来显示 Nodes 表的子集,基于 SQL 查询,将 Cursor 传递给结果表(来自查询)。
我想修改 ListActivity 中的每个列表项,使其根据项目是冷、暖还是热显示不同的颜色。我有一个小(空)视图,但它始终默认为白色(“其他”部分)。
我的问题是,虽然传递给 SimpleListAdapter 的光标将包含我想要的子集中相应节点的 _ID(我假设),但getView中的位置参数是子集的本地参数,所以我不能交叉引用它节点表。我错过了一些简单的技术吗?
一如既往,任何帮助表示赞赏。
标记答案的注释 4 帮助我解决了这个问题:将传递给 SimpleCursorAdapter 的光标存储为成员变量,然后使用移动到位置和 getLong:
其中position是 getView() 方法中的本地参数,而 0 用于 getLong 因为 db_id 是传递给 SimpleCursorAdapter 的游标中的第一列
android - 如何使用 SimpleCursorAdapter 更改特定行的背景
我正在尝试创建一个从我的 SQLite 数据库中生成的列表视图。我目前将代码设置为仅相应地显示每一行并用数据填充 3 个文本视图。我希望能够使用某种 If 语句来检查其中一个值是否为“Room1”,然后将该行的背景设置为某种颜色。
这样,列表中的每一行将根据数据的“房间”具有不同的背景。
我尝试过扩展 SimpleCursorAdapter,但我对如何从中获得我想要的东西有点迷茫。
这是我目前为 SimpleCursorAdapter 提供的内容:
android - 将变量传递给 ViewBinder
我有一个ViewBinder
充当我ListView
和数据库游标适配器之间的中间人。根据显示此数据的上下文,我需要ViewBinder
做不同的事情。
例如,以一个任务管理应用程序为例,它显示所有存在的任务组的任务。也许在这种情况下,应用程序希望在列表视图中显示任务组的名称,而如果它正在显示特定任务组之一的任务,则它不希望这样做。列表视图项可以有一个隐藏字段,并且ViewBinder
可以用于将任务组的名称映射到该字段,并在必要时将其设置为可见(按照主应用程序的说明)。
我的问题是如何告诉ViewBinder
它正在显示的上下文,以便它可以确定如何表现?
我意识到这可能可以通过实现许多不同ViewBinders
的ViewBinder
.
android - 奇怪的选中/取消选中 UI 行为
我面临着奇怪的 UI 行为问题。当我设置 *listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);* onListItemClick 行为不正确...如果我在这里遗漏任何内容,请告诉我。
当我评论以下行时
此 UI 按预期工作正常,但以下部分代码不起作用
列表框.java
MyCursorAdapter.java
主要的.xml
提取行.xml
android - Android SimpleCursorAdapter + ListView 不工作
您好我正在尝试使用 SimpleCursorAdapter 将值绑定到列表适配器。游标来自 SQLLite 数据库。但是,无论光标中的结果如何(它总是至少有一行),列表视图都会显示空消息。我对 android 很陌生,感谢任何帮助。
我的代码如下:
在活动中:由 onCreate() 调用
检索光标
session_list_row.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<TextView android:text="" android:id="@+id/sessionNameRow"
android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
</LinearLayout>
主要布局
<ListView android:id="@android:id/list" android:layout_height="fill_parent" android:layout_width="fill_parent"></ListView>
<TextView android:id="@android:id/empty" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="@string/no_sessions_msg" />
android - 如何使光标适应具有大量自定义行为的 ListView?
我目前正在开发一个 android 应用程序,该应用程序使用SimpleCursorAdapter
自定义ViewBinder
来设置我的ListView
.
但是,当我的列表长于屏幕大小,并且用户上下滚动时,系统会导致错误的行呈现错误的颜色等。我的理解是这是系统重用的问题视图作为滚动的优化,如此处所述。
我完全支持优化,但是我需要项目在ListView
. 解决这个问题的正确方法是什么?
我的想法是我可以实现 a CursorAdapter
,或者最好是 a SimpleCursorAdapter
,但我不知道如何去做。或者,是否只是将文本颜色设置回 my 中的默认值ViewBinder
?
android - FTS3 数据库中的别名 _id
我的应用程序使用带有 FTS3 的 SQLite 数据库。查询结果应使用SimpleCursorAdapter
. 但是我得到以下异常:
java.lang.IllegalArgumentException: column '_id' does not exist
做一些搜索我找到了这个答案:
Android Full Text Search and ListAdapter。我明白了,但我不知道如何为docid -> _id
. Android 页面上的 SearchableDictionary 示例对我没有帮助;-)
干杯,
罗伯特
android - Android 多个 SimpleCursorAdapter
我正在开发一个与 SQLite 数据库一起使用的小应用程序...我正在显示取决于优先级的图片(绿色、黄色或红色)。我有 3 个优先级(高、中和低......),我得到的光标如下:
然后我打电话给其他一些像这样的东西:
所以我已经准备好在我的列表中显示我的所有东西......但如果我使用 setListAdapter 我只能使用其中的 1 个。因为我有 3 种不同的布局和不同的光标,所以这真的很难做到。我怎样才能让所有这 3 个 SimpleCursorAdapter 现在显示在我的列表中?
编辑:也许我不够清楚......所有这些数据都只在一个表中......但由于我有 3 种不同的布局(因为不同的优先级颜色)我需要单独添加它们......或者有没有换句话说,如果优先级等于“高”,则将此图像放入布局中,所以我只需要一个 SimpleCursorAdapter?
android - ListFragment 显示数据时的延迟
首先感谢所有让我的 android 开发冒险变得如此轻松的用户。但是,我遇到了一种我找不到解决方案的情况,所以这里是:
我有一个包含各种片段的活动,这些片段旨在相互交互。这些包括:
包含 GridView 的 Fragment 由 Sqlite db 中的一个表中的 SimpleCursorAdapter 填充
/li>由另一个表中的另一个 SimpleCursorAdapter 填充的 ListFragment // 列表功能
/li>当用户从 GridView 中选择某些内容时,Activity 会将该项插入到 ListView 的表中,然后重新初始化它。
/li>
现在解决问题:当我查看日志并记录每个步骤时。整个过程不超过 50-70 毫秒,但从我单击 Grid 到更新 ListView 的时间,我可以计算 2-3 秒。似乎问题在于 ListFragmentsetListAdapter()
以及刷新视图所需的时间。
我已经尝试了各种方法来解决这个问题,例如 1. 使用接口来监听选择或直接从 GridView 片段调用它 2. 使用其中一个newadapter.changecursor(c)
或3 调用 ListFragment 中的辅助函数newadapter.getCursor().requery()
3. 这个的其他变体......
但它似乎总是需要任何帮助。
android - 如何将多个数据库字段映射到位于 ListView 的一个 TextView?
这是具有 1 对 1 字段映射的代码:
但是我的数据库中有另一个字段 -DbAdapter.KEY_CLOSE_TIME
应该R.id.time
显示像DbAdapter.KEY_OPEN_TIME + " - " + DbAdapter.KEY_CLOSE_TIME
.
我该怎么做?