ПОСЛЕ Много часов работы над тем, чтобы заставить ListView работать с моей БД, мне наконец-то удалось его скомпилировать. Теперь, когда я знаю, что все передается должным образом (например, информация о базе данных в виде списка), мне стало интересно, может ли кто-нибудь предложить способы сделать его более полезным. Я заметил, что когда я запускаю приложение, элементы списка выглядят кликабельными, но ни к чему не приводят. как я могу добавить в свой код, чтобы при нажатии на элемент открывалась новая операция со всей информацией об элементах?
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 (заголовок), я хочу щелкнуть этот элемент и просмотреть остальные поля этого содержимого (например, ссылку, описание, дату). Большинство обучающих программ не имеют дело с этой настройкой массива, так что трудно понять, что делать.