我使用的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