InvalidateOptionsMenu no se llama de fragmento
Tengo un fragmento con el que necesita para construir su propia barra de acción:
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; }
}
- Android (3.0) La barra de acción no quiere ir
- App: showAsAction vs android: showAsAction
- Android ActionBar no se dividirá en el dispositivo
- Cómo forzar el uso del menú de desbordamiento en los dispositivos con el botón de menú
- Eventos de entrada de la barra de acción de Android
El problema es que no crea un nuevo menú con elementos de calendar_menu1 pero sólo agrega los elementos de él al menú antiguo, como si invalidateOptionsMenu no funciona (i tried getActivity (). InvalidateOptionsMenu () también)
- ¿Cómo puedo obtener el atributo ActionBar en mi clase
- Cómo mostrar el fragmento seleccionado en la pestaña de la barra de acción
- ClassCastException: android.support.v7.widget.ShareActionProvider
- Barra de Acción de Android
- Combinar barra de acción Android con pestañas de menú
- ¿Hay alguna manera de desactivar la animación show / hide de ActionBar?
- Cambiar los iconos en ActionBar dinámicamente
- Ocultar brevemente ActionBar sin cambiar el tamaño Actividad
Debe llamar a onCreate ():
setHasOptionsMenu(true);
Es normal, mirando en el javadoc del MenuInflater , " Los elementos y submenús se añadirán a este Menú ":
public void inflate (int menuRes, Menu menu) Inflate a menu hierarchy from the specified XML resource. Throws InflateException if there is an error. Parameters menuRes Resource ID for an XML layout resource to load (eg, R.menu.main_activity) menu The Menu to inflate into. The items and submenus will be added to this Menu.
¿Intentaste llamar a menu.clear()
antes de inflar tu menú de fragmentos?
@Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { menu.clear(); inflater.inflate(R.menu.calendar_menu1, menu); }
- ¿Qué poner en DisplayUrl en la promoción de AdMob?
- ¿Qué adaptador usar – BaseAdapter o ArrayAdapter?