在我的代码中,我想从列表视图和数据库中删除所选项目。我正在使用上下文菜单。我正在获得职位列表。
CODE:
public boolean onContextItemSelected(MenuItem item) {
// TODO Auto-generated method stub
AdapterContextMenuInfo menuInfo = (AdapterContextMenuInfo) item
.getMenuInfo();
// Track track = (Track)mAdapter.getItem(info.position);
switch (item.getItemId()) {
case R.id.delete:
Toast.makeText(getApplicationContext(),
"Deleted" + menuInfo.position, Toast.LENGTH_LONG).show();
// delete(menuInfo.id);
return true;
case R.id.add:
Toast.makeText(getApplicationContext(), "Add Successfully",
Toast.LENGTH_LONG).show();
return true;
case R.id.view:
Toast.makeText(getApplicationContext(), "Viewed", Toast.LENGTH_LONG)
.show();
default:
Toast.makeText(getApplicationContext(), "HI", Toast.LENGTH_LONG)
.show();
}
return super.onContextItemSelected(item);
}
我只获得位置但找不到图像中的名称,描述,日期和金钱。我怎样才能找到其中一个,这样通过使用名称日期或金钱,我可以从列表视图和数据库中删除列表。
答案 0 :(得分:2)
如果要删除记录,则不需要任何信息,您只需要数据库中记录的行ID,您可以使用{从上下文菜单中获取该信息。 {1}}方法中的{1}}。
示例:
menuInfo.id
删除方法(可能在您的数据库助手类中):
onContextItemSelected
答案 1 :(得分:0)
看我之前遇到过同样的问题
所以我的解决方案是
View yourView;
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
// TODO Auto-generated method stub
yourView = (TableRow) v; // here you can have your own view in my case i have Table row
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.table_row_menu, menu);
}
进一步获得视图后,您将在与视图相关联的 tag
的帮助下获取信息