如何从来自SQLite数据库的字符串变量创建列表视图

时间:2013-06-30 10:59:28

标签: android database string sqlite listview

在我的数据库代码中,我目前正在浏览SQLite数据库的ID列。现在,这是返回一个字符串变量,列出所有条目,当我把它放在一个textview例如。但是我希望将该变量放在某种listview(或类似的)中,并且用户能够单击该listview并显示与该主键相关的其余信息。我一直在做研究,并找到了这样做的教程,但它们不适合我想做的事情,并没有完全适合我。下面的代码位于我要显示列表视图的活动中。感谢。

public class View_Saved_Dates extends Activity {
ListView list;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_view_saved_dates);       
    list = (ListView)findViewById(R.id.listView1);

    Database info = new Database(this);
    info.open();
    //I want to put the variable below which lists all data within the id column of my database into a list view or some sort of list where I can 
    //click the id and bring up the rest of the information in the databse.
    String cowid = info.getCowid();

    info.close();
    }
}

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

我相信这应该可以解决你的问题。在您的数据库类中,不是将所有查询的数据放入字符串中,而是将其放入字符串数组中。

public String[] getid() {
    // TODO Auto-generated method stub
    ArrayList<String> strings = new ArrayList<String>();
    String[] id = new String[]{KEY_ID};
    Cursor c = ourDatabase.query(DATABASE_TABLE, id, null, null, null, null, null);
    int i = c.getColumnIndex(KEY_ID);
    while(c.moveToNext()){ strings.add(c.getString(i));
    }
    String[] mString = (String[]) strings.toArray(new String[strings.size()]);
    return mString;

}

然后在你想要显示这个列表视图的主类中创建一个列表视图并使用下面的代码它应该可以工作

lv = (ListView)findViewById(R.id.list_view); 
    Database info = new Database(this);
    info.open();
    String [] id = info.getid();
    ArrayAdapter<String> arrayAdapter =  new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, id);
    lv.setAdapter(arrayAdapter);
    info.close();

我希望这对你有用