android - studio - getActivity() donde se define?
remove title android (11)
// 1. Crear una instancia de AlertDialog.Builder con su constructor
AlertDialog.Builder builder = new AlertDialog.Builder(yourActivityName.this);
// 2. Encadenar varios métodos setter para establecer las características del diálogo
builder.setMessage(R.string.dialog_message).setTitle(R.string.dialog_title);
// 3. Obtenga el AlertDialog desde create ()
AlertDialog dialog = builder.create();
// 4. Mostrar el AlertDialog
dialog.show();
Soy muy nuevo en Android y sigo este example .
El código dice que debemos seguir estos pasos para obtener un cuadro de diálogo:
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
// 2. Chain together various setter methods to set the dialog characteristics
builder.setMessage(R.string.dialog_message)
.setTitle(R.string.dialog_title);
// 3. Get the AlertDialog from create()
AlertDialog dialog = builder.create();
Pero, ¿dónde se define el método getActivity()
?
No puedo encontrar ese método.
Actualizar el nivel 23 de la API de Android.
Use getContext()
lugar de getActivity()
.
El constructor AlertDialog.Builder
espera un parámetro de Context
. Se puede acceder al Context
desde Activity
, Service
, etc., ya que todos ellos extend
Context
y se pueden pasar como this
.
El método getActivity()
se declara como otros han mencionado en la clase Fragment
.
El método getActivity()
proporciona el contexto de la Actividad. Puedes usar YourActivityName.this
lugar de él.
El método getActivity()
se usa normalmente en fragmentos para obtener el contexto de la actividad en la que se insertan o inflan.
p.ej
AlertDialog.Builder builder = new AlertDialog.Builder(YourActivityName.this);
o si está escribiendo el código en su propia actividad incluso
AlertDialog.Builder builder = new AlertDialog.Builder(this);
se resolverá. Por favor no dude en preguntar cualquier duda.
Este artículo describe cómo crear un AlertDialog
en un Fragment
. en Fragmentos, puede obtener la Activity
correspondiente llamando getActivity()
método getActivity()
. pero en tu caso, asumo que estás haciendo esto en una Activity
. para que no tenga que llamar a getActivity()
. solo usa this
AlertDialog.Builder builder = new AlertDialog.Builder(this);
GetActivity cuando se usa, entonces no hay necesidad de poner nuevos ... como
PendingIntent pi=new PendingIntent.getActivity(this,0,intent,0); //is wrong
usalo como:
PendingIntent pi=PendingIntent.getActivity(this,0,intent,0); //is Right code
Aquí eliminamos los nuevos que proporcionan una nueva asignación, pero aquí se proporciona su asignación a través de getActivity con en la Actividad (esto).
Tuve exactamente el mismo problema y finalmente encontré lo que realmente sospechaba ... Simplemente agregue:
dialog.show();
...y voilá. Ahí está. Me pregunto por qué esto no se indica en el ejemplo original!
el nuevo AlertDialog.Builder () necesita contexto como parámetro de entrada. Así que intenta como
AlertDialog.Builder builder = new AlertDialog.Builder(yourActivityName.this);
getActivity () se implementa en la clase Fragment.
Consulte http://developer.android.com/reference/android/app/Fragment.html
getActivity (); es un método de android Fragment, si desea mostrar un diálogo en su actividad, simplemente pase this
de su actividad en lugar de getActivity()
.
getActivity()
es el método miembro de la actividad de la súper clase desde la que se extiende. Se define en la propia clase de actividad . infact onCreate()
, onPause()
y todas las demás funciones también se definen en la Clase de actividad principal.