没有锚点时,不能使用菜单弹出帮助器
我想在操作栏中使用弹出菜单项。 当我在Activity中使用它时,一切都很好但是当我切换到片段时,我得到:
MenuPopupHelper cannot be used without an anchor
我的片段:
@Override public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()) { case R.id.action_filter: createCategoriesPopupMenu(item); return true; case R.id.action_sort: createSortPopupMenu(item); return true; default: return super.onOptionsItemSelected(item); } } private void createSortPopupMenu(MenuItem item) { PopupMenu popup; final View menuItemView = getView().findViewById(item.getItemId()); Log.wtf("d","item getitemid"+item.getItemId()); if (menuItemView == null) { Log.wtf("d","menuItemView==null view"+view.findViewById(item.getItemId())); Log.wtf("d","menuItemView==null getAc"+getActivity().findViewById(item.getItemId())); //final View searchItemView = getView().findViewById(R.id.action_search); //popup = new PopupMenu(getActivity(), searchItemView); } popup = new PopupMenu(getActivity(), menuItemView); Menu menu = popup.getMenu(); addSortMenuItems(menu); popup.setOnMenuItemClickListener(new OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { onSortMenuItemClick(item); return true; } }); popup.show(); } @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.issues_list_menu, menu); super.onCreateOptionsMenu(menu, inflater); }
控制台输出(断言):
07-08 14:08:16.659:A / d(1677):item getitemid2131165600 07-08
14:08:16.659:A / d(1677):menuItemView == null viewnull 07-08
14:08:16.663:A / d(1677):menuItemView == null getAcnull
我没有忘记setHasOptionsMenu(true); 在onCreateView()和view
是从onCreateView()
膨胀布局
好的,我在xml菜单文件中找到了我们想要添加弹出窗口的项目,我们需要设置
android:showAsAction="always"
因为弹出窗口仅适用于操作栏中的图标而非菜单中的图标。 还可以使用getActivity()。findView …而不是getView()。findView …
- 如何在Android中使用DefaultHttpClient创建持久性Cookie?
- 我从String placeName = placeText.getText()。toString();得到空指针exception
- 如何创建简单的Web服务
- Android:将方法关联到智能手机的主页按钮
- Android Thread修改EditText
- 舍入数只到小数点后第一位
- org.json.JSONObject.getLong给出了不精确的结果
- 在4.0上使用onTouchListener和onClickListener的Android TextView NullPointerException
- 在尝试将大型json数据发送到android中的服务器时出现OutOfMemoryException?