當活動更改時,我喜歡更改菜單。我有MainActivity.java和activity_main.xml菜單。然後我有MyDetailFragment.java和detail_view_menu.xml。在MainActivity菜單中MainActivity.java的onCreateOptionsMenu膨脹爲將一項活動切換爲另一項活動時更改菜單
@Override
public boolean onCreateOptionsMenu(Menu menu) {
new MenuInflater(this).inflate(R.menu.activity_main, menu);
return (super.onCreateOptionsMenu(menu));
}
它工作正常。當其中一個項目被點擊並加載MyDetailFragment.java時,我喜歡顯示detail_view_menu.xml。我如何實現是
public class MyDetailsFragment extends Fragment {
TrackerInfo trackerInfo;
public MyDetailsFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.my_details_fragment, container, false);
setHasOptionsMenu(true);
TextView displayText = (TextView) view.findViewById(R.id.details);
displayText.setText(trackerInfo.getIdnumber());
return view;
}
public void retrieveData(TrackerInfo tracker){
trackerInfo = tracker;
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.detail_view_menu, menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.track:
return (true);
case R.id.view_history:
return (true);
}
return (super.onOptionsItemSelected(item));}}
但問題是,菜單仍然是相同的activity_main菜單,永遠不會改變。可能是什麼問題呢?
你怎麼能有菜單的菜單中你的論點?我的意思是你如何創建菜單對象來調用你的public static void emptyFragmentOptionsMenu(Menu menu)。 – Bryanyan 2013-03-24 14:10:45
請參閱編輯:) – 2013-03-24 14:18:45