我正在使用 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();