小编Shi*_*ons的帖子

PopupMenu里面的适配器getView()无法正常工作

我正在使用自定义适配器并在getView()方法上添加此代码:

final ImageView popupMenu = (ImageView) v.findViewById(R.id.popupMenu);
    popupMenu.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View view) {
            popupMenu.setImageResource(R.drawable.ic_popup_menu_selected);
            PopupMenu popup = new PopupMenu(context, view);
            popup.getMenuInflater().inflate(R.menu.popup, popup.getMenu());
            popup.setOnDismissListener(new PopupMenu.OnDismissListener() {
                @Override
                public void onDismiss(PopupMenu pm) {
                    popupMenu.setImageResource(R.drawable.ic_popup_menu);
                }
            });
            popup.show();
        }
});
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误: java.lang.RuntimeException: Failed to resolve attribute at index 6

相同的代码适用于ListItemClick(),但它没有意义,因为它需要单击一次设置并再次单击以触发PopupMenu.

编辑:Logcat

11-02 17:58:51.276    1996-1996/com.android.example E/AndroidRuntime? FATAL EXCEPTION: main
Process: com.android.example, PID: 1996
java.lang.RuntimeException: Failed to resolve attribute at index 6
        at android.content.res.TypedArray.getLayoutDimension(TypedArray.java:603)
        at android.view.ViewGroup$LayoutParams.setBaseAttributes(ViewGroup.java:6423)
        at android.view.ViewGroup$MarginLayoutParams.<init>(ViewGroup.java:6591)
        at android.widget.FrameLayout$LayoutParams.<init>(FrameLayout.java:735)
        at …
Run Code Online (Sandbox Code Playgroud)

android listview popupmenu adapter

2
推荐指数
1
解决办法
2405
查看次数

标签 统计

adapter ×1

android ×1

listview ×1

popupmenu ×1