【发布时间】:2017-08-10 15:44:26
【问题描述】:
单击菜单图标时出现此错误:
java.lang.IllegalStateException: MenuPopupHelper cannot be used without an anchor
我有这个代码:
@Override
public void onBindViewHolder(final ViewHolder holder, final int position) {
...
holder.imageButtom.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
showPopup(holder.imageButtom, position, post.getPid());
}
});
和显示弹出窗口
private void showPopup(View view, final int position, final String id) {
View menuItemView = view.findViewById(R.id.card_view);
PopupMenu popup = new PopupMenu(context, menuItemView);
MenuInflater inflate = popup.getMenuInflater();
inflate.inflate(R.menu.cardview_menu, popup.getMenu());
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.delete_id:
Posts.remove(position);
notifyItemRemoved(position);
// do what you need.
break;
default:
return false;
}
return false;
}
});
popup.show();
}
任何想法为什么当我单击我的图像按钮时会出现此错误?
【问题讨论】:
标签: android android-cardview android-viewholder