单击按钮时显示弹出菜单

时间:2016-09-17 08:41:29

标签: android menu popupmenu

enter image description here

当我点击布局时,我的show popup菜单有问题,任何人都有经验帮助我。

我认为我的问题可能与我的主要活动有关,因为我使用群组视图,但我不知道如何解决这个问题,任何身体可以帮助我

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        context = getActivity().getApplicationContext();
        // Inflate the layout for this fragment
        View view = inflater.inflate(R.layout.fg_dashboard__product__services, container, false);
        rsview = (RecyclerView)view.findViewById(R.id.dashboard_product_service);


        albumList = new ArrayList<>();
        adapter = new DashboardProductServiceAdapter(context, albumList);

        RecyclerView.LayoutManager mLayoutManager = new GridLayoutManager(context, 1);
        rsview.setLayoutManager(mLayoutManager);
//       rsview.addItemDecoration(new GridSpacingItemDecoration(2, dpToPx(10), true));
        rsview.setItemAnimator(new DefaultItemAnimator());
        rsview.setAdapter(adapter);

        prepareAlbums();
        return view;

    }

这是我的点击操作

holder.layout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                showPopupMenu(holder.layout);
                Toast.makeText(mContext, "Click on layout", Toast.LENGTH_SHORT).show();
            }
        });

这是我的showPopupMenu函数。

public void showPopupMenu(View view) {
        PopupMenu popup = new PopupMenu(mContext, view);
        MenuInflater inflater = popup.getMenuInflater();
        inflater.inflate(R.menu.dashboard_context_menu, popup.getMenu());
        popup.setOnMenuItemClickListener(new MyMenuItemClickListener());
        popup.show();
    }

3 个答案:

答案 0 :(得分:0)

您的问题显然不在java代码中,XML中的一个元素没有layout_height属性(可能是弹出菜单,或R.menu.dashboard_context_menu中的其他元素)。检查此文件,第17行是否存在任何代码错误。

答案 1 :(得分:0)

你需要定义&#34; android:layout_height&#34; xml代码中的属性。

答案 2 :(得分:0)

现在我找到了解决方案,问题不在于xml文件,而在于java。

我用:

html-webpack-plugin

而不是:

index.html