java - 项目列表视图中的按钮,单击它会显示一个上下文菜单
问题描述
正如您所读到的,我有一个关于在单击 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 中放置一个按钮并向我显示上下文菜单的方法吗?我想获得这样的东西
谢谢..
解决方案
首先,建议使用 RecyclerView 而不是 ListView。它更具可定制性。其次,它被称为弹出菜单或溢出菜单。您可以在此链接上找到更多信息
希望对您有所帮助,如果您有任何问题,请告诉我
推荐阅读
- android - 将 SimpleCursorAdapter 代码从 Java 转换为 Kotlin
- typescript - 如何在 Typescript 中定义和调用泛型函数参数?
- c++ - 如何使用我从源代码构建的库而没有错误,但不能为我自己的项目编译?
- java - 如何在改造中将用户重定向到他们的活动
- mysql - 将 MySQL 添加到 Windows 终端配置文件
- python - Scrapy爬虫返回重复值
- python-3.x - 如何使用 cv2 更改图像的颜色?
- sql - 如何从一个表中选择另一个表中没有外键的记录
- laravel - 雄辩的一对多关系在生产服务器上不起作用
- c# - 尝试发布自包含时出现 VS Studio 2019 错误