【问题标题】: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合作

标签: java android android-studio listview


【解决方案1】:

首先,建议使用 RecyclerView 而不是 ListView。它更具可定制性。 其次,它被称为弹出菜单或溢出菜单。你可以找到更多关于这个link的信息

希望对你有帮助,如果有任何问题,请告诉我

【讨论】:

  • 老兄,首先感谢您宝贵的时间。但是我遇到了一个问题。我尝试按照您的说法构建弹出菜单,但出现此错误:ibb.co/nnmtJWW
猜你喜欢
  • 2020-07-26
  • 1970-01-01
  • 2016-03-05
  • 2012-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多