2011-04-11 90 views
2

我是新来的android。我想要做的是从我的sqlite数据库填充一个列表视图。我知道如何使用数组来做到这一点。有人能帮我做这件事吗?我知道有一段时间去适应下面的代码,并使用它来填充使用SQLite的列表视图,但我不知道该怎么做。从SQLite数据库填充列表视图

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

您可以使用SimpleCursorAdapter

图像您有一个列表视图(名为'list_item')项目与两个字段分别具有ID 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 } 
);   

该适配器将文本从映射到field1txtOnefield2txtTwo