Fragment中弹出popupwindow菜单
大家好,请教一个在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弹出后,获取焦点,等等会对系统造成什么影响呢?请教各位了