Ho un frammento con che ha la necessità di costruire una propria barra di azione:invalidateOptionsMenu non ottiene chiamato dal frammento
public class CalendarFragment extends Fragment {
public CalendarFragment() {
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
getActivity().supportInvalidateOptionsMenu();
setHasOptionsMenu(true);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.calendar_menu1, menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
return super.onOptionsItemSelected(item);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
TextView textView = new TextView(getActivity());
textView.setGravity(Gravity.CENTER);
textView.setText("Calendar Fragment");
return textView;
}
}
il problema è che pretende molto creare un nuovo menu con elementi da calendar_menu1 ma solo aggiunge gli elementi da esso al vecchio menù, come se invalidateOptionsMenu non funziona (ho provato getActivity(). invalidateOptionsMenu() troppo)
quello vecchio menu, sei sicuro che non si dispone di un onCreateOptionsMenu nella vostra attività troppo? – Necronet
Cosa intendi esattamente per ** nuovo menu **? Un menu senza elementi tranne quelli che hai appena creato? –