Explicación de la sintaxis de Java – getMenuInflater ()
Acabo de descargar android studio, y estoy usando gran nerd rancho de la guía de la programación de Android para aprender las cuerdas.
Al iniciar android studio este código ya está en el archivo de actividad principal:
- Hacer directorio en android
- Realm java sort con varios campos
- Android java.lang.ClassNotFoundException
- ¿Cuál debería ser el tiempo de espera de conexión estándar y el tiempo de espera del socket en android
- ASyncTask en Executor y PriorityBlockingQueue
@Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. **getMenuInflater().inflate(R.menu.menu_quiz, menu);** return true; }
No entiendo la línea getMenuInflater
. En mi breve experiencia con java sólo un objeto viene antes de un método cuando se utiliza un período para separar los dos como en dog.bark()
. Aquí parece que la línea significa llamar al método inflate que está definido dentro del método getMenuInflater. Sin embargo, he comprobado el código fuente de getMenuInflater()
, y no hay ningún método de getMenuInflater()
en su cuerpo.
¿Puede alguien desmitificar la sintaxis en esta línea para mí?
- Obtención de una clave privada a través del keytool para la liberación de la aplicación
- Tiene "versión de archivo de clase no compatible 52.0" después de incluir un módulo en un proyecto
- ¿Cómo cambiar el tipo de mapa de simple a satélite de PlacePicker de la API de Google Places?
- Android: el relleno dejó un mapa de bits con color blanco
- ¿Cómo puedo iniciar sesión con facebook y obtener información de usuario para enviar mi db remoto desde la aplicación android
- Función User.getUserId () en el punto final de nube api devuelve null para un objeto de usuario que no es nulo
- Android Building Workspace Error
- Daga 2 Singleton Componente Depend en Singleton
La línea getMenuInflater().inflate(R.menu.menu_quiz, menu);
es una forma corta de esto:
MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu_quiz, menu)
Estás ampliando una actividad y android studio añade esa línea para que puedas configurar el menú para el diseño, a continuación se muestra la implementación real del método en la clase de actividad:
public MenuInflater getMenuInflater() { // Make sure that action views can get an appropriate theme. if (mMenuInflater == null) { initWindowDecorActionBar(); if (mActionBar != null) { mMenuInflater = new MenuInflater(mActionBar.getThemedContext(), this); } else { mMenuInflater = new MenuInflater(this); } } return mMenuInflater; }
No estoy muy seguro de lo que estás confundido, pero creo que usted piensa que usted tiene que tener una llamada de método siempre después del nombre de un objeto. Eso es básicamente cierto, (a excepción de los métodos estáticos) para que pueda pensar en la llamada como
this.getMenuInflater()
Se trata de una palabra clave en Java que se refiere al objeto actual que invoca el método
Esto será algo como un menú se creará automáticamente en la carpeta Res nombrada como menu.xml,
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/slideshowbutton" android:icon="@drawable/settings" android:title="@string/settings"/> <item android:id="@+id/editbutton" android:icon="@drawable/adduser" android:title="@string/adduser"/> <item android:id="@+id/cropbutton" android:icon="@drawable/message" android:title="@string/message"/> <item android:id="@+id/detailsbutton" android:icon="@drawable/logout" android:title="@string/Logout"/>
puede agregar la lista de menús como desee
El menú se verá como
- recibir variable booleana con solicitud json en volley
- Selección del elemento de menú desbordamiento en TextView CustomActionModeCallback