gpt4 book ai didi

android - 如何从 SimpleCursorAdapter 获取信息到 ContextMenu

转载 作者:行者123 更新时间:2023-11-30 04:32:34 26 4
gpt4 key购买 nike

我是 Android 新手,有一个小问题。我的上下文菜单有问题。我已经用我的数据库条目填充了我的 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(){
}
}

谢谢你的提前帮助!

最好的问候

Safari

最佳答案

onContextItemSelected() 中的 info 局部变量有一个 id 数据成员,其中包含来自的 _ID 值你的光标Here is a sample project演示如何使用它来删除基于 ListView 上下文菜单的项目。

关于android - 如何从 SimpleCursorAdapter 获取信息到 ContextMenu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7444905/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com