Android 使用“info.position”查找上下文菜单行视图

Android 使用“info.position”查找上下文菜单行视图,android,android-listview,contextmenu,Android,Android Listview,Contextmenu,我知道在长时间单击时需要在关联菜单中查找一行,方法如下: AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo; int position = info.position; 在onCreateContextMenu 我如何在这里实现它?我似乎只抓住了这个设置中的前两个 @Override public void onCreateContextMenu(ContextMenu menu, View v,

我知道在长时间单击时需要在关联菜单中查找一行,方法如下:

  AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo;
        int position = info.position;
onCreateContextMenu

我如何在这里实现它?我似乎只抓住了这个设置中的前两个

@Override
public void onCreateContextMenu(ContextMenu menu, View v,
        ContextMenuInfo menuInfo) {

    super.onCreateContextMenu(menu, v, menuInfo);
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.comments_context, menu);
    menu.setHeaderTitle("Available Actions");

    MenuItem Edit = menu.findItem(R.id.editComment);
    MenuItem Delete = menu.findItem(R.id.deleteComment);

    ReviewUser = ((TextView) v
            .findViewById(R.id.labelReviewCommentUser)).getText()
            .toString();

    ReviewComment = ((TextView) v
            .findViewById(R.id.labelReviewComment)).getText()
            .toString();



}
我希望根据用户单击的列表行选择
ReviewUser
ReviewComment

我如何在这里实现它?我似乎只抓住了第一个 在这个设置中有两个

@Override
public void onCreateContextMenu(ContextMenu menu, View v,
        ContextMenuInfo menuInfo) {

    super.onCreateContextMenu(menu, v, menuInfo);
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.comments_context, menu);
    menu.setHeaderTitle("Available Actions");

    MenuItem Edit = menu.findItem(R.id.editComment);
    MenuItem Delete = menu.findItem(R.id.deleteComment);

    ReviewUser = ((TextView) v
            .findViewById(R.id.labelReviewCommentUser)).getText()
            .toString();

    ReviewComment = ((TextView) v
            .findViewById(R.id.labelReviewComment)).getText()
            .toString();



}
v
表示为其构建上下文菜单的
视图,在本例中是
列表视图,而不是您操作的行视图。你可能想要这样的东西:

@Override
public void onCreateContextMenu(ContextMenu menu, View v,
        ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.comments_context, menu);
    menu.setHeaderTitle("Available Actions");

    MenuItem Edit = menu.findItem(R.id.editComment);
    MenuItem Delete = menu.findItem(R.id.deleteComment);
    AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo;
    int position = info.position;
    ListView lv = (ListView) v;
    int firstVisible = lv.getFirstVisiblePosition();
    View rowView = lv.getChildAt(position - firstVisible);
    ReviewUser = ((TextView) rowView.findViewById(R.id.labelReviewCommentUser))
            .getText().toString();
    ReviewComment = ((TextView) rowView.findViewById(R.id.labelReviewComment))
            .getText().toString();
}