Les mettre en contexte à l'intérieur onClick(DialogInterface v, int buttonId)?
Arriver le contexte à l'intérieur onClick(View view)
, la fonction de rappel pour un bouton de onClickListener()
, est facile:
view.getContext()
Mais je ne peux pas comprendre comment le faire le contexte à l'intérieur onClick(DialogInterface v, int buttonId)
, la fonction de rappel pour un dialogue's onClickListener
public class MainActivity extends Activity implements android.content.DialogInterface.OnClickListener
Est-ce possible?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez faire référence à un contexte externe lorsque vous définissez votre
DialogInterface.OnClickListener
comme une classe anonyme. Si vous êtes dans une activité que vous pouvez utiliserMyActivity.this
, selon le contexte.Modifier - depuis votre Activité est mise en œuvre
DialogInterface.OnClickListener
, vous devriez être en mesure de l'utiliser justethis
, selon le contexte.MyActivity.this
Si votre DialogInterface est dans MainActivity, alors vous pouvez obtenir le contexte à l'aide
Btw, Vous pouvez également mettre en œuvre les DialogInterface (dans votre exemple de code, vous avez écrit met en œuvre deux fois) et le même constat peut être utilisé pour obtenir le contexte d'activité.
Ici est de savoir comment faire dans le cas où vous
Tout simplement,
dialogInterface
objet et de le jeter auxDialog
objetgetContext()
Exemple avec DialogInterface.OnClickListener:
Cela fonctionnera également pour les interfaces suivantes ainsi, il suffit d'utiliser le premier param
DialogInterface dialogInterface
et cast.DialogInterface
est plus difficile à trouver qu'on ne le pense. M'a sauvé beaucoup de temps là-bas.getActivity()
...getActivity()
peut être n'était pas marrante à la fois.à l'intérieur de setOnClickListener
decelare en-dessous de la classe
Context context = this;
et utiliser ce contexte
AlertDialog.Builder alertDialog = new AlertDialog.Builder(context);