我有一张名为tbl_homework的表。有3列称为“_id”,“hw”和“hwdate”。 现在我想读出“hw”和“hwdate”。所以我喜欢这个列表视图中的同一行。 我不得不说它没有崩溃或错误。它只是没有显示日期...... 下图将告诉你我的意思:
以下是代码片段,告诉您我是如何尝试的:
private Button.OnClickListener add_hw = new Button.OnClickListener(){
public void onClick(View arg0) {
mDbHelper.open_database_rw();
String txt_insert_hw = insert_hw.getText().toString();
if(txt_insert_hw.equals("")){
doMessage("Keine Eingabe!");
}else{
String date_picker_message= date_pick.getDayOfMonth() + "/" + (date_pick.getMonth()+1) + "/" + date_pick.getYear();
final String INSERT_HW = "INSERT INTO tbl_homework ('hw', 'hwdate') VALUES ('"+txt_insert_hw+"', '"+date_picker_message+"')";
db.execSQL(INSERT_HW);
insert_hw.setText("");
fillData();
}
}
};
private void fillData() {
// Get all of the notes from the database and create the item list
Cursor c = mDbHelper.fetchAllNotes();
startManagingCursor(c);
String[] from = new String[] { dbHelper.KEY_TITLE, dbHelper.KEY_DATE};
int[] to = new int[] {R.id.txt_notes_row};
// Now create an array adapter and set it to display using our row
SimpleCursorAdapter notes = new SimpleCursorAdapter(this, R.layout.notes_row, c, from, to);
setListAdapter(notes);
}
在mDbHelper:
public Cursor fetchAllNotes() {
return db.query(DATABASE_TABLE, new String[] {KEY_ROWID, KEY_TITLE, KEY_DATE}, null, null, null, null, null);
}
这个问题的解决方法:(从评委会收到)
String[] from = new String[] { dbHelper.KEY_TITLE, dbHelper.KEY_DATE};
int[] to = new int[] {R.id.txt_notes_row, R.id.txt_notes_row2};
我不得不添加一个新的TextView。 dbHelper.KEY_TITLE和dbHelper.KEY_DATE不能由一个TextView处理。所以我不得不添加一个新的TextView来处理我的字符串“from”的第二部分。
答案 0 :(得分:1)
我认为问题是你尝试在这里匹配两个列(从)到一个容器(到):
String[] from = new String[] { dbHelper.KEY_TITLE, dbHelper.KEY_DATE};
int[] to = new int[] {R.id.txt_notes_row};
您应在列表行中指定存储值的两个字段。即你的R.id.txt_notes_row应该包含两个小部件(例如,R.id.txtview1和R.id.txtview2),你可以在这里存储你的值。