我的列表視圖獲取保存在本地數據庫中的信息並顯示信息。我正在修改點擊列表視圖項目時發生的情況。我想刪除它們,有人可以幫我解決這個問題,而使用我的代碼?先謝謝你!製作ListView項目可點擊故障
public class Notepad extends ListActivity {
public static final int INSERT_ID = Menu.FIRST;
EditText notes;
Button add;
ListView lv;
String currentDateTimeString = DateFormat.getDateInstance().format(
new Date());
private NotesDbAdapter mDbHelper;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.notepad_list);
mDbHelper = new NotesDbAdapter(this);
mDbHelper.open();
fillData();
Button add = (Button) findViewById(R.id.addNote);
// ListView lv = (ListView) findViewById(R.id.list);
add.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
createNote();
}
});
// lv.setOnItemClickListener(new OnItemClickListener() {
//
// public void onItemClick(AdapterView<?> parent, View view,
// int position, long id) {
// // When clicked, show a toast with the TextView text
//
// try {
// Toast.makeText(getApplicationContext(),
// ((TextView) view).getText(), Toast.LENGTH_SHORT)
// .show();
//
// } catch (ClassCastException e) {
// Toast.makeText(getApplicationContext(), "Error",
// Toast.LENGTH_SHORT).show();
// }
//
// };
//
// });
}
private void createNote() {
EditText notes = (EditText) findViewById(R.id.note);
String noteName = notes.getText().toString();
Calendar c = Calendar.getInstance();
int seconds = c.get(Calendar.SECOND);
int minutes = c.get(Calendar.MINUTE);
int hour = c.get(Calendar.HOUR);
mDbHelper.createNote(noteName + " Entered at " + hour + ":" + minutes
+ ":" + seconds, "");
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[] { NotesDbAdapter.KEY_TITLE };
int[] to = new int[] { R.id.text1 };
// 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);
}
}
我的ListView:
<ListView
android:id="@id/android:list"
android:layout_width="wrap_content"
android:layout_height="402dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_below="@+id/note" >
</ListView>
我不知道我知道你的意思 – 2012-02-28 09:57:11
我從你的問題中瞭解到你想要刪除在ListView中點擊的項目。問題是你不能從ListView鏈接回數據庫。這是我的答案。數據庫中的每個項目都有_id,並且viewBinder(最初從DB填充LV)將LV中每個項目(R.id.text1)的標籤設置爲這個_id。當您單擊該項目時,監聽器使用該項目的標籤(之前設置)來引用數據庫,從數據庫中刪除該行,然後刷新LV以獲取沒有單擊項目的新數據 – 2012-02-28 10:18:12
好吧,謝謝,我明白了那完全,對不起。但截至目前,我在點擊時訪問我的列表視圖項目時遇到了困難。我不知道如何訪問我的列表,在我的XML。 – 2012-02-28 10:21:51