0

我已经在我的 ListView 上设置了 contextmenu 代码,而且我已经完成了 adaptercontextinfo 以获取我从 listview 中长按项目的位置,所以我的问题是如何使用该项目访问成员或视图适配器上下文信息

public void onCreateContextMenu(ContextMenu menu, View v,
    ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuItem edit = menu.add("Edit");
MenuItem delete = menu.add("Delete");

edit.setOnMenuItemClickListener(new OnMenuItemClickListener() {

        public boolean onMenuItemClick(MenuItem item) {
            AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
            Toast toast = Toast.makeText(PatientActivity.this, Long.toString(info.id), Toast.LENGTH_LONG);
            toast.show();
            return true;
        }
    });
}

所以我的问题是我如何访问我长时间点击的那个项目中的视图..

在此处输入图像描述

我想访问该图片上名称上方的那个小数字..我已经确定了我长时间点击它的位置..但我不知道如何访问我点击的内容

4

1 回答 1

1

如果要从 AdapterContextMenuInfo 访问行的布局,请使用:info.targetView。您可以使用它和 findViewById() 来获取布局左上角的数字。

我不知道您在问题中所说的成员是什么意思,但是如果您想要的数字是像 SQLiteDatabase 中的主键这样的 id,您可以简单地使用:info.id

还可以考虑使用活动和片段中可用的onContextItemSelected()方法,而不是编写单独的 onMenuItemClickListeners。(这比在听众之后创建听众的工作要少。)

于 2012-08-12T16:37:17.523 回答