gpt4 book ai didi

android - 获取 ListItem ContextMenu 中的选定项目

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:06:16 25 4
gpt4 key购买 nike

我有一个 ListView,它在长按其中一个元素时创建一个 ContextMenu。如何找到在创建此上下文菜单的 ListView 中选择的元素(不是选定的 MenuItem)?这是我的代码:

list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
@Override
public void onCreateContextMenu(ContextMenu menu, final View v,
ContextMenuInfo menuInfo) {
menu.setHeaderTitle("Actions");
android.view.MenuItem remove = menu.add("Remove");
final int selectedItem = ((ListView)v).getSelectedItemPosition();
remove.setOnMenuItemClickListener(new OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(android.view.MenuItem item) {
doSomething(listAdapter.getItem(selectedItem)); // NPE here
return true;
}
});
}
});

请注意,我不想要从上下文菜单中选择的项目,而是触发此上下文菜单的 ListView 项目。

最佳答案

您将需要 AdapterContextMenuInfo为了它。

关注 fragment 将帮助您

public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
String[] names = getResources().getStringArray(R.array.names);
switch(item.getItemId()) {
case R.id.edit:
Toast.makeText(this, "You have chosen the " + getResources().getString(R.string.edit) +
" context menu option for " + names[(int)info.id],
Toast.LENGTH_SHORT).show();
return true;
…………………..
default:
return super.onContextItemSelected(item);
}

关于android - 获取 ListItem ContextMenu 中的选定项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11175630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com