在手机版本上运行时,没有在 FragmentActivity 上调用 onCreateOptionsMenu
Posted
技术标签:
【中文标题】在手机版本上运行时,没有在 FragmentActivity 上调用 onCreateOptionsMenu【英文标题】:onCreateOptionsMenu not being called on FragmentActivity when run on phone version 【发布时间】:2011-10-19 16:38:22 【问题描述】:我创建了一个同时支持手机和平板电脑版本的应用,所以我使用了 android-support-v4.jar 库。我的活动扩展了 FragmentActivity 并覆盖了 onCreateOptionsMenu(菜单菜单)。这在平板电脑上运行良好, onCreateOptionsMenu 被正确调用,但在手机上不起作用, onCreateOptionsMenu 永远不会被调用。如何解决?
注意:我在 Manifest 文件中使用 <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="12"/>
。
【问题讨论】:
【参考方案1】:您应该从您的Fragment
代码中考虑:
1) 实现onCreateOptionsMenu(Menu menu, MenuInflater inflater)
2) 拨打setHasOptionsMenu
3) 并实现onOptionsItemSelected(MenuItem item)
那么你在手机和平板电脑上都可以。
【讨论】:
很容易忘记调用 setHasOptionsMenu。 除了 PJL 所说的之外,另一个值得一提的调用:4) setMenuVisibility(true); @Buffalo 我已经为此努力了好几个小时,谢谢,setMenuVisibility()
成功了。以上是关于在手机版本上运行时,没有在 FragmentActivity 上调用 onCreateOptionsMenu的主要内容,如果未能解决你的问题,请参考以下文章