web-dev-qa-db-fra.com

getActivity () où est-il défini?

Je suis très nouveau sur Android et je suis ce exemple .

Le code indique que nous devons suivre ces étapes pour obtenir une boîte de dialogue:

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

Mais où est définie la méthode getActivity()?

Je ne trouve pas cette méthode.

18
sriram

La méthode getActivity() donne le contexte de l'activité. Vous pouvez utiliser YourActivityName.this à la place. 

La méthode getActivity() est normalement utilisée dans les fragments pour obtenir le contexte de l'activité dans laquelle ils sont insérés ou gonflés.

par exemple

AlertDialog.Builder builder = new AlertDialog.Builder(YourActivityName.this);

ou si vous écrivez le code dans votre activité même, même 

AlertDialog.Builder builder = new AlertDialog.Builder(this);

travaillera sur. S'il vous plaît n'hésitez pas à poser des doutes

45
pvn

new AlertDialog.Builder () a besoin de Context en tant que paramètre d'entrée. Alors essayez comme 

AlertDialog.Builder builder = new AlertDialog.Builder(yourActivityName.this);
2
Raj

getActivity () est implémenté dans la classe Fragment.

Voir http://developer.Android.com/reference/Android/app/Fragment.html

1
userM1433372

Le constructeur AlertDialog.Builder attend un paramètre Context. Context est accessible depuis Activity, Service etc., car ils sont tous extendContext et peuvent être passés sous la forme this.

La méthode getActivity() est déclarée comme les autres personnes ont été mentionnées dans la classe Fragment.

1
Ovidiu Latcu

J'ai eu exactement le même problème et j'ai finalement trouvé ce que je soupçonnais réellement .... simplement ajouter:

dialog.show();

... et le tour est joué. Voilà . Je me demande pourquoi cela n’est pas indiqué dans l’exemple original!?

0
p s

Cet article explique comment créer une AlertDialog dans une Fragment. Dans Fragments, vous pouvez obtenir la Activity correspondante en appelant la méthode getActivity(). mais dans votre cas, je suppose que vous le faites dans une Activity. de sorte que vous n'avez pas à appeler getActivity(). utilisez simplement this

AlertDialog.Builder builder = new AlertDialog.Builder(this);
0
Asanka Senavirathna

getActivity (); est une méthode de Fragment Android, si vous voulez afficher le dialogue dans votre activité, il suffit de passer this de votre activité au lieu de getActivity().

0
Aram

getActivity() est la méthode membre de la super classe Activité à partir de laquelle vous vous étendez. Il est défini dans le Activité classe elle-même. infact onCreate(), onPause() et toutes les autres fonctions sont elles aussi définies dans le parent Activité Classe.

0
Rahul Verma

getActivity quand vous utilisez alors pas besoin de mettre de nouvelles ... telles que 

PendingIntent pi=new PendingIntent.getActivity(this,0,intent,0); //is wrong

l'utiliser comme: 

PendingIntent pi=PendingIntent.getActivity(this,0,intent,0); //is Right code

ici, nous supprimons les nouveaux fournisseurs qui fournissent une nouvelle allocation, mais ici, ils fournissent leur allocation via getActivity dans dans Activity (this).

0
Pradeep Sheoran

Mettre à jour l'API Android niveau 23.

Utilisez getContext() au lieu de getActivity().

0
Aks4125

// 1. Instanciez un AlertDialog.Builder avec son constructeur

AlertDialog.Builder builder = new AlertDialog.Builder(yourActivityName.this);

// 2. Enchaînez différentes méthodes de définition pour définir les caractéristiques du dialogue

builder.setMessage(R.string.dialog_message).setTitle(R.string.dialog_title);

// 3. Obtenir le AlertDialog de create ()

AlertDialog dialog = builder.create();

// 4. Afficher le AlertDialog

dialog.show();
0
RobertoIngECR