我是android的新手。我想要做的是从我的sqlite数据库填充listview。我知道如何使用数组。有人可以帮我这样做吗?我知道有一个适应以下代码并使用它来使用SQLite填充listview但我不知道该怎么做。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list_item);
final ListView lt = (ListView)findViewById(R.id.ListView01);
List<String> w= new ArrayList<String>();
ArrayAdapter<String> aa;
w.add("waka");
w.add("weka");
w.add("woka");
aa = new ArrayAdapter<String>(this, R.layout.listW, w);
lt.setAdapter(aa);
lt.setTextFilterEnabled(true);
lt.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
final String aux= (String) lt.getItemAtPosition(position);
Intent myIntent = new Intent(infoList.this, tabList.class);
startActivity(myIntent);
}});
}
由于
答案 0 :(得分:2)
您可以使用SimpleCursorAdapter。
图片您有一个列表视图(名为&#39; list_item&#39;)项目,其中两个字段分别包含ID txtOne
和txtTwo
。此外,您有一个包含两个字段的数据库表 - field1
和field2
。
当你sgolud使用以下适配器调用时。
SimpleCursorAdapter adapter = new SimpleCursorAdapter(
ctx,
R.layout.list_item,
getContentResolver().query(....), // getting cursor for database query here.
new String[] { "field1", "field2" },
new int[] { R.id.txtOne, R.id.txtTwo }
);
此适配器会将文本从field1
映射到txtOne
,从field2
映射到txtTwo
。
答案 1 :(得分:2)
使用数据填充ListView的最佳方法是使用内容提供商:http://developer.android.com/guide/topics/providers/content-providers.html
使用内容提供程序,您可以安全地了解数据库的打开/关闭操作。