Fragment中弹出popupwindow菜单

dogdog 发布于 2014/07/15 14:03
阅读 6K+
收藏 1

大家好,请教一个在Fragment类中实现点击菜单弹出自定义菜单项的问题:

1,setHasOptionsMenu(true);

2,public void onPrepareOptionsMenu(Menu menu){

    Log.e(TAG,"onPrepareOptionsMenu");

   menu.clear();

  MenuInflater inflater = getActivity().getMenuInflater(); 
  inflater.inflate(R.menu.file_helpbar_menu, menu);

  if(menu != null && menu.size() > 0){
   mSkyMenu = new SkyMenu(getActivity(), menu, this);
   mSkyMenu.showAtLocation(rootView, Gravity.BOTTOM, 0, 0);
  }

}

3,SkyMenu 继承的是Popupwindow

 

4,代码如上,很简单,但是实际的效果却很诡异

4.1)第一次按菜单后,能马上显示自定义的SkyMenu,此时退出菜单,再次按菜单,就无法显示我自定义的SkyMenu,而是显示系统本身的menu(此处的打印也没有),退出再按菜单,又可以显示SkyMenu,再次按又显示系统的menu

4.2)原因貌似在SkyMenu中,SkyMenu显示出来后,应该是改变了系统的什么状态,导致下次再按菜单无法响应

4.3)大家有遇到类似的问题吗,或者对系统比较了解的,谈谈Popupwindow弹出后,获取焦点,等等会对系统造成什么影响呢?请教各位了

 

 

加载中
返回顶部
顶部