我使用的ActionBarSherlock库和片段。但是,在第二个片段出现后,我很难让菜单显示在屏幕上。 这是一个非常简单的程序,一个屏幕接着另一个屏幕。我使用FragmentTransaction,每次都替换。我在每个片段中使用setHasOptionsMenu(true)。 的onCreateOptionsMenu & onPrepareOptionsMenu越来越调用,但我有一个空白区里的菜单。我可以选择该区域,它似乎工作,但没有文字。 任何想法? 片段代码:片段,ActionBarSherlock和菜单
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();
你能为活动和片段张贴代码? – 2013-03-19 19:34:58
要添加的片段,我简单地使用:\t \t fragmentEntries.push(stackEntry); \t \t FragmentTransaction英尺= mFragmentManager.beginTransaction(); \t \t ft.replace(contentId,fragment,fragmentName); \t \t ft.commit();该活动只是一个SherlockFragmentActivity该片段放'setHasOptionsMenu(true);'在onCreate – kevindavmoore 2013-03-21 21:38:05