【发布时间】:2013-03-19 17:09:13
【问题描述】:
我正在使用 ActionBarSherlock 库和片段。但是,在第二个片段出现后,我很难让菜单显示在屏幕上。 这是一个非常简单的程序,一个屏幕接着另一个屏幕。我使用 FragmentTransaction 并且每次都替换。我在每个片段中使用 setHasOptionsMenu(true)。 onCreateOptionsMenu 和 onPrepareOptionsMenu 被调用,但我在菜单所在的位置有一个空白区域。我可以选择那个区域,它似乎可以工作,但没有文字。 有任何想法吗? 片段代码:
public class MyListFragment extends SherlockListFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
if (menu.findItem(R.id.save) == null) {
menu.clear();
inflater.inflate(R.menu.new_menu, menu);
}
}
活动:
public class MyMain extends SherlockFragmentActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
supportFragmentManager = getSupportFragmentManager();
handler = new Handler();
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
}
片段代码
fragmentEntries.push(stackEntry);
FragmentTransaction ft = mFragmentManager.beginTransaction();
ft.replace(contentId, fragment, fragmentName);
ft.commit();
【问题讨论】:
-
你能发布 Activity 和 Fragment 的代码吗?
-
添加一个片段,我简单地使用:fragmentEntries.push(stackEntry); FragmentTransaction ft = mFragmentManager.beginTransaction(); ft.replace(contentId, 片段, 片段名称); ft.commit();该活动只是一个 SherlockFragmentActivity 片段将
setHasOptionsMenu(true);放入 onCreate
标签: android android-fragments actionbarsherlock