首页 文章

从SQLite数据库填充列表视图

提问于
浏览
2

我是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);
            }});
    }

谢谢

2 回答

  • 2

    使用数据来填充ListView的最佳方法是使用内容提供商:http://developer.android.com/guide/topics/providers/content-providers.html

    使用内容提供程序将使您对数据库的打开/关闭操作感到安全 .

  • 2

    你可以使用SimpleCursorAdapter .

    图像有一个列表视图(名为'list_item')项目,其中两个字段分别具有ids txtOnetxtTwo . 此外,您有一个包含两个字段的数据库表 - field1field2 .

    当你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 .

相关问题