【发布时间】:2011-09-16 12:48:52
【问题描述】:
我对 Android 很陌生,我有一个小问题。 我的 ContextMenu 有问题。我已经用我的数据库条目填充了我的 ListView,现在我想如果我长按它,ContextMenu 会弹出,我想在那里删除或编辑我的数据库条目: 但我不明白如何找出它是什么条目。
这是我的代码..
package de.retowaelchli.filterit.stats;
import de.retowaelchli.filterit.R;
import de.retowaelchli.filterit.database.ADFilterDBAdapter;
import android.app.ListActivity;
import android.database.Cursor;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.SimpleCursorAdapter;
public class CreatedADFilters extends ListActivity {
//Variablen deklaration
private ADFilterDBAdapter mDbHelper;
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
//Kontext-Menu registrieren
registerForContextMenu(findViewById(R.layout.list_layout));
//Hier wir die Datenbank aufgerufen
mDbHelper = new ADFilterDBAdapter(this);
mDbHelper.open();
fillData();
}
private void fillData() {
// Get all of the notes from the database and create the item list
Cursor c = mDbHelper.getAllADFilter();
startManagingCursor(c);
String[] from = new String[] { ADFilterDBAdapter.NAME, ADFilterDBAdapter.ROW_ID };
int[] to = new int[] { R.id.label };
// Now create an array adapter and set it to display using our row
SimpleCursorAdapter adname =
new SimpleCursorAdapter(this, R.layout.list_layout, c, from, to);
setListAdapter(adname);
mDbHelper.close();
}
//ContextMenu erstellen und definieren
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
if (v.getId() == R.layout.list_layout) {
getMenuInflater().inflate(R.menu.createdadmenu, menu);
}
super.onCreateContextMenu(menu, v, menuInfo);
}
public boolean onContextItemSelected(MenuItem item) {
final AdapterView.AdapterContextMenuInfo info =
(AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
switch (item.getItemId()) {
case R.id.delete_adfilter: {
deleteAD();
return true;
}
case R.id.edit_adfilter:{
editAD();
return true;
}
return super.onContextItemSelected(item);
}
}
// THIS IS THE PART I DONT KNOW HOW TO REALIZE
private void deleteAD(){
}
private void editAD(){
}
}
谢谢你提前帮助!
最好的问候
野生动物园
【问题讨论】:
标签: android database contextmenu simplecursoradapter