2012-09-30 40 views
1

您好,我非常感谢这个问题。我是Android系统中的新成员。我有一个显示数据库信息的列表(ID,名称和说明)。在点击并按住操作我想从数据库中删除选定的行。我已经实施的上下文菜单,但我没有得到从数据库中的ID,但返回位置(0,但是从数据库ID为1).thanx从上下文菜单中的数据库获取ID

我想我得到它:)

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”?

+1

您要显示在列表上什么样的数据之外的变量? –

+0

ID,项目名称和项目说明。我想获得ID – user1708870

+0

你如何在列表视图中显示它?你可以发布你如何添加和显示它的示例代码 –

回答

0

试试这个 你可以得到foldeiId如果你声明的onCreate()方法

@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; 
}