我正在使用 ActionBar Sherlock 4.2。当用户旋转设备时,我的 onPrepareOptionsMenu 方法中出现空引用。当从横向模式下的双片段布局切换回纵向模式时会发生这种情况,该模式仅显示“主”片段而没有细节片段。但是我的细节片段仍然被调用。首先,我在 menu.xml 中做错了什么,但事实并非如此。Activity 返回为空。任何人都有提示那里可能有什么问题?
奇怪的是代码通过了 isDetached() 检查。
任何提示表示赞赏,风筝冲浪者
/*
* (non-Javadoc)
*
* @see android.support.v4.app.Fragment#onPrepareOptionsMenu(android.support. v4.view.Menu)
*/
@Override
public void onPrepareOptionsMenu(final Menu menu)
{
if (getListAdapter() == null || getListAdapter().isEmpty() && isDetached())
{
return;
}
final MenuItem item = menu.findItem(R.id.forecast_options_navigate_to_spot);
Log.d(LOG_TAG, "Menu item size:" + menu.size());
Log.d(LOG_TAG, "Activity:" + getSherlockActivity());
输出:
11-11 13:07:46.862: D/MyFragment(27997): Menu item size:8
11-11 13:07:46.862: D/MyFragment(27997): Activity:null