AFter很多小时的工作使ListView与我的数据库一起工作,我终于设法让它编译。现在我知道事情正在正确地进行通信(即将数据库信息添加到列表视图中),我想知道是否有人可以提出使其更有用的方法。我注意到,当我运行应用程序时,listview项目似乎是可点击的,但无处可去。我怎样才能添加到我的代码,所以当一个项目被点击时,它会打开一个包含所有项目信息的新活动?ListView和ArrayAdapter配置,Android应用程序
private void showEvents() {
SQLiteDatabase db = post.getWritableDatabase();
Cursor cursor= db.rawQuery("SELECT "+TITLE+", "+LINK+", "+POST+", "+DATE+" FROM "+TABLE_NAME+" "+"ORDER BY "+DATE+" DESC;",null);
startManagingCursor(cursor);
//TextView tv = new TextView(this);
//ListView lv1 = (ListView) findViewById(R.id.myListView);
ListView lv1 = new ListView(this);
lv1.setId(2000);
// Stuff them all into a big string
StringBuilder builder = new StringBuilder("");
ArrayList<String> codes = new ArrayList<String>();
while(cursor.moveToNext()){
String title = cursor.getString(0);
//builder.append("Title: ").append(title).append("\n");
String link = cursor.getString(1);
//builder.append("Link: ").append(link).append("\n");
String post = cursor.getString(2);
//builder.append("Post: ").append(post).append("\n");
String date = cursor.getString(3);
//builder.append("Date: ").append(date).append("\n");
codes.add(title);
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, codes);
lv1.setAdapter(adapter);
this.setContentView(lv1);
//tv.setText(builder);
//this.setContentView(tv);
}
例如,当我添加codes.add(冠军),我要点击该项目并查看内容字段(如链接,描述,日期)的其余部分。大多数教程没有涉及这个arrayadaper设置,所以很难知道该怎么做。
感谢您的帮助。我目前离开我的电脑,但如果这证明是解决方案,我会确保并接受此答案。 – Nibirue