项目列表视图中的按钮,单击它会显示一个上下文菜单
Posted
技术标签:
【中文标题】项目列表视图中的按钮,单击它会显示一个上下文菜单【英文标题】:Button inside an item listview that on click it shows me a Context Menu 【发布时间】:2021-11-02 13:46:55 【问题描述】:如您所见,我在单击 ListView 中的某个项目时会显示一个上下文菜单的按钮时遇到问题。我尝试了很多关于它的教程,但是我想尝试这个东西并且我没有工作:
button.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View view)
registerForContextMenu(button);
openContextMenu(button);
);
但是它崩溃了..我用它代替它也没有一个按钮但是在按下项目 ListView 时它会出现上下文菜单并且它可以工作并且我做了类似的事情
registerForContextMenu(listView_songs);
然后我有这个代码:
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo)
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menuset, menu);
menu.setHeaderTitle("Set as");
@Override
public boolean onContextItemSelected(@NonNull MenuItem item)
if(item.getItemId() == R.id.as_ringtone)
Toast.makeText(this, "TryRingtone", Toast.LENGTH_SHORT).show();
return true;
else if(item.getItemId() == R.id.as_notify)
Toast.makeText(this, "Try Notification", Toast.LENGTH_SHORT).show();
else
return false;
return super.onContextItemSelected(item);
有人可以帮我找到一种在每个 Item ListView 中放置一个按钮并向我显示上下文菜单的方法吗?我想得到这样的东西
enter image description here
谢谢..
【问题讨论】:
你最好和recyclerview合作 【参考方案1】:首先,建议使用 RecyclerView 而不是 ListView。它更具可定制性。 其次,它被称为弹出菜单或溢出菜单。你可以找到更多关于这个link的信息
希望对你有帮助,如果有任何问题,请告诉我
【讨论】:
老兄,首先感谢您宝贵的时间。但是我遇到了一个问题。我尝试按照您的说法构建弹出菜单,但出现此错误:ibb.co/nnmtJWW以上是关于项目列表视图中的按钮,单击它会显示一个上下文菜单的主要内容,如果未能解决你的问题,请参考以下文章
如何在保留 onClickListener 的同时将菜单按钮添加到列表视图?