Android数据库中的内容如何显示在下拉列表中
答案:1 悬赏:80
解决时间 2021-11-05 16:48
- 提问者网友:嗝是迷路的屁
- 2021-11-05 13:40
Android数据库中的内容如何显示在下拉列表中
最佳答案
- 二级知识专家网友:荒野風
- 2021-11-05 14:47
最后两个参数其实很好理解:
from,to 从到哪里到哪里。from就表示从数据库中的值,to到你对应的包含布局文件中对应组件id;
在许多时候需要将数据库表中的数据显示在ListView、Gallery等组件中。虽然可以直接使用Adapter对象处理,但工作量很大。为此,Android SDK提供了一个专用于数据绑定的Adapter类:SimpleCursorAdapter。
public SimpleCursorAdapter(Context context,int layout,Cursor c,String[] from,int[] to);
这个是它的构造方法;
SimpleCursorAdapter类构造方法的第四个参数表示返回Cursor对象中的字段名,第五个参数表示要将该字段的值赋给那个组件。该组件在第二个参数中指定的布局文件中定义。
//查询数据
Cursor cursor = dbService.query("select * from t_test", null);
绑定数据
SimpleCursorAdapter simpleCursorAdapter = new SimpleCursorAdapter (this,android.R.layout.simple_expandable_list_item_1,cursor,new String[]{"name"},new int[]{android.R.id.text1});
setListAdapter(simpleCursorAdapter);
//将NAME列的数据一次映射到布局文件的id为text1的组件上。
注意:在绑定数据时,Cursor对象返回的记录集中必须包含一个叫"_id"的字段,否则将无法完成数据绑定。也就是说SQL语句不能是select name from t_contacts.如果在数据表中没有"_id"字段,可以采用其他方法来处理。
以上例子的表为:
CREATE TABLE [t_test]([_id]AUTOINC,
[name]VARCHAr2(20) NOT NULL CONFLICT FAIL,
CONSTRAINT[sqlite_autoindex_te_test_1]PRIMARY KEY([_id]));
from,to 从到哪里到哪里。from就表示从数据库中的值,to到你对应的包含布局文件中对应组件id;
在许多时候需要将数据库表中的数据显示在ListView、Gallery等组件中。虽然可以直接使用Adapter对象处理,但工作量很大。为此,Android SDK提供了一个专用于数据绑定的Adapter类:SimpleCursorAdapter。
public SimpleCursorAdapter(Context context,int layout,Cursor c,String[] from,int[] to);
这个是它的构造方法;
SimpleCursorAdapter类构造方法的第四个参数表示返回Cursor对象中的字段名,第五个参数表示要将该字段的值赋给那个组件。该组件在第二个参数中指定的布局文件中定义。
//查询数据
Cursor cursor = dbService.query("select * from t_test", null);
绑定数据
SimpleCursorAdapter simpleCursorAdapter = new SimpleCursorAdapter (this,android.R.layout.simple_expandable_list_item_1,cursor,new String[]{"name"},new int[]{android.R.id.text1});
setListAdapter(simpleCursorAdapter);
//将NAME列的数据一次映射到布局文件的id为text1的组件上。
注意:在绑定数据时,Cursor对象返回的记录集中必须包含一个叫"_id"的字段,否则将无法完成数据绑定。也就是说SQL语句不能是select name from t_contacts.如果在数据表中没有"_id"字段,可以采用其他方法来处理。
以上例子的表为:
CREATE TABLE [t_test]([_id]AUTOINC,
[name]VARCHAr2(20) NOT NULL CONFLICT FAIL,
CONSTRAINT[sqlite_autoindex_te_test_1]PRIMARY KEY([_id]));
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯