titulo studio remove poner one from cambiar bar agregar activity android methods alertdialog

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 (); 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.