Android 如何从ContextMenu引用选定的ListView项?

Android 如何从ContextMenu引用选定的ListView项?,android,listview,android-contextmenu,Android,Listview,Android Contextmenu,我在显示帐户列表视图的活动中实现了上下文操作栏(CAB)。目前,通过CAB的唯一选项是删除帐户。但是,当用户长时间单击某个帐户并选择删除项目时,我无法确定如何获取对所选帐户的引用。以下是单击侦听器代码: mAccountListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { @Override public boolean onItemLongC

我在显示帐户列表视图的活动中实现了上下文操作栏(CAB)。目前,通过CAB的唯一选项是删除帐户。但是,当用户长时间单击某个帐户并选择删除项目时,我无法确定如何获取对所选帐户的引用。以下是单击侦听器代码:

mAccountListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
            @Override
            public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
                if (mActionMode != null) {
                    return false;
                } else {
                    // Start the CAB using the ActionMode.Callback already defined
                    mActionMode = startSupportActionMode(mActionModeCallback);
                    // Get name to set as title for action bar
                    Account account = (Account) mAccountAdapter.getItem(position);
                    mActionMode.setTitle(account.getName());
                    mAccountListView.setSelection(position);
                    return true;
                }
            }
        });
在上面的第二个函数
mode.finish()
中,我想从数据库中删除帐户以及适配器。然而,我不知道如何引用它。我试过:

Account acc = (Account) mAccountListView.getSelectedItem();
但我得到了一个空值的帐户。我也尝试过使用AdapterContextMenuInfo,但在调用
item.getInfo()
时也会得到一个空对象。我在别的地方犯了错误吗?我不想求助于存储每次选择项目时都会更改的静态变量。

您可以在ActionMode上传递帐户引用

以后就用吧

Account acc = (Account) mode.getTag();

哇,谢谢你。我在找到的任何示例中都没有看到这一点,在文档中忽略了这一点。正如我所预料的那样。
Account acc = (Account) mode.getTag();