¿Hay alguna diferencia entre Activityname.this () y esto?

¿Hay alguna diferencia entre Activityname.this() y this en Android?

Estoy tratando de abrir una actividad de la misma actividad con el botón en el cuadro de diálogo? Estoy usando getApplicationContext() en la intención. En algunos móviles funciona, pero en otros se cierra la fuerza?

Entre ActivityName.this y esto que uno debo usar y por qué?

¿Hay alguna diferencia entre Activityname.this () y esto en Android?

Esto depende de dónde lo está llamando. Si estás dentro de la Activity , no dentro de un oyente o clase interna como en onCreate entonces no. Ambos se refieren al Activity context la Activity context .

Si usted es decir dentro de un onClickListener entonces sí. this refiere al listener y necesita usar ActivityName.this o algo así como

 someButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent i = (v.getContext(), NextActivity.class); use the button context which will be the same as the activity context startActivity(i); } }); 

Esto será el mismo que cuando se utiliza un Dialog o AlertDialog , se desea utilizar ActivityName.this

Esta es una respuesta que habla de la diferencia de Context s pero hay una mejor voy a ver si puedo encontrar

Una gran explicación de Contexto

Editar para mayor integridad

AFAIK, getApplicationContext() o ActivityName.this está bien para Toasts . El ejemplo en los documentos utiliza getApplicationContext() . Pero los Toast Docs dicen

Parámetros context El contexto a utilizar. Normalmente, su objeto de aplicación o actividad.

Así que puede haber ciertos casos en los que uno es mejor, pero siempre he utilizado el Activity Context y supongo que lo haré hasta que me corrijan en esto.

no MyActivity.this es lo mismo que usar this cuando usted está en la actividad en sí y no algo así como un runnable donde se refieren a lo ejecutables y no el contexto

siempre debe utilizar this o getActivity() si en un fragmento y nunca utilizar getApplicationContext()

compruebe aquí por qué no debe utilizar getApplicationContext()

getApplication () vs. getApplicationContext ()

  • Android, ¿qué sucede realmente después de cerrar una aplicación?
  • "Error al registrar el canal de entrada" - ¿qué causa esto y cómo solucionarlo?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.