1

嗨,这个问题真的让我很震惊。我是android世界的新手。我有一个显示数据库信息的列表。(id、名称和描述)。在单击并按住操作时,我想从数据库中删除选定的行。我已经实现了上下文菜单,但没有从数据库中获取 id,而是返回位置(0 但 db 中的 id 为 1).thanx

我想我明白了:)

public void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, view, menuInfo);
    TextView ids = (TextView)findViewById(R.layout.list_row);
    AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo;
    int position = info.position;
    int foldeiId=(Integer) adapter.getItem(position);
    String fd = String.valueOf(view.getId());
    // Log.w("Data id arunmr: ", foldeiId);
    System.out.println(foldeiId);
    menu.setHeaderTitle("Options");
    menu.add(0, NEW_MENU_ITEM, foldeiId, "Delete");
    menu.add(0, SAVE_MENU_ITEM, foldeiId, "Rename");
}

但是知道如何从上下文菜单中访问提到的“foldeiId”吗?

4

1 回答 1

0

试试这个如果您在 oncreate() 方法之外声明该变量,您可以获得 foldeiId

@Override  
public boolean onContextItemSelected(MenuItem item) {  
    if(item.getTitle()=="Delete"){
        // delete the item you want to delete
}  
else if(item.getTitle()=="Rename"){
      // rename the item you want to 
}  
else {return false;}  
return true;  
}  
于 2012-09-30T06:16:04.073 回答