0

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

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();
    }
}
4

2 回答 2

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();

我希望这对你有用

于 2013-07-01T10:05:23.920 回答