¿Qué se entiende por "este" contexto?

He mirado un montón de tutoriales de Android a través de Internet. En estos tutoriales utilizan el contexto this para el contexto en todas partes. Sé lo que significa this palabra clave en Java, pero no puedo igualar esto, con la palabra clave en la programación de Android. Por ejemplo, en AlertDialog.Builder , en el sitio developer.android.com, sólo hay una referencia en los parámetros del Contexto, pero no puedo aprender lo que this significa aquí.

si tiene una Actividad puede utilizar this porque:

  • this es la instancia actual de una clase
  • una Actividad es heredada de la clase "Contexto"

para que pueda utilizar su actividad actual como contexto.

Busque aquí el documento Acitivty

y aquí para una explicación de this

Si conoce "this" variable .. entonces u también puede saber que contiene referencia para el objeto actual .. así que si algún método pide un objeto Context, puede pasar this variable sólo cuando extiende clases como Contexto o Actividad. La actividad implementa el contexto tan obeviously su un contexto

El contexto de la clase actual se llama Esto en Android.

Aquí hay otra pregunta donde explican Context . A medida que las actividades y los servicios amplían el Context , este contexto es una referencia a esta actividad o servicio .

La palabra clave this es simplemente una referencia – dentro de una instancia de una clase – a sí mismo.

Hay dos usos comunes de "esto" en Android. Estos no son específicos de Android, pero son válidos en Java en general.

  1. this.getResources() dice para llamar al método getResources() en this instancia. this parte de ella es usualmente innecesaria y usada implícitamente.

  2. Foo.this.getResources() podría llamarse desde una clase interna. Esto podría ser útil si la clase interna define getResources() también, pero desea que la versión definida en la otra clase.

this es una referencia al objeto actual

Puede usar this para referirse a cualquier instancia actual y cualquier instancia de su superclase.

Si su clase extiende Actividad . Es un caso de herencia. su clase es subclase y la clase de actividad es la clase padre. entonces usted puede usar esta palabra clave para obtener la instancia de Actividad beacause La clase Activity es super clase de su clase. Este es un casting implícito

también Clase de actividad Context como superclase. por lo que puede referirse a la instancia de esa clase utilizando esta palabra clave.

Gracias

  • FCM: onMessageReceived no se llama, la notificación no llegó incluso después de enviar msg a fcm?
  • ArrayList.Remove no funciona la primera vez que se invoca
  • Cómo establecer el idioma predeterminado para la aplicación de Android?
  • ¿Cómo forzar a la aplicación a crear una miniatura (instantánea) para la lista de aplicaciones recientes?
  • Android: error al abrir el archivo de rastreo: ningún archivo o directorio de este tipo
  • Android (ART) bloqueo con error JNI DETECTED ERROR EN APLICACIÓN: jarray es una tabla de referencia indirecta de pila no válida o una referencia no válida
  • Orientación de la pantalla de Android ActivityGroup
  • ACRA vs Android Developer error de error de la consola
  • Visualización del mensaje de Android Toast
  • GL_OUT_OF_MEMORY después de una llamada a glDrawArrays. ¿Por qué?
  • Java - java.lang.IllegalStateException: No se pudo leer la fila 0, col -1 de CursorWindow
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.