L’ onClick(View view)
du contexte dans onClick(View view)
, le rappel pour un bouton onClickListener()
, est simple:
view.getContext()
Mais je n’arrive pas à comprendre comment obtenir le contexte dans onClick(DialogInterface v, int buttonId)
, le rappel pour le dialog onClickListener
un dialog
public class MainActivity extends Activity implements android.content.DialogInterface.OnClickListener
Est-ce possible?
Vous pouvez référencer un contexte externe lorsque vous définissez votre DialogInterface.OnClickListener
tant que classe anonyme. Si vous êtes dans une activité, vous pouvez utiliser MyActivity.this
comme contexte.
Modifier – votre activité implémentant DialogInterface.OnClickListener
, vous devriez pouvoir l’utiliser comme contexte.
Si votre DialogInterface est dans MainActivity, vous pouvez obtenir le contexte en utilisant
MainActivity.this.getActivityContext();
Btw Vous pouvez également implémenter la DialogInterface (dans votre exemple de code, vous avez écrit deux fois des implémentations) et la même instruction peut être utilisée pour obtenir le contexte d’activité.
Voici comment vous le faites au cas où vous
Tout simplement,
dialogInterface
et le dialogInterface
object Dialog
getContext()
Exemple avec DialogInterface.OnClickListener :
DialogInterface.OnClickListener foo = new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int which) { Dialog dialog = (Dialog) dialogInterface; Context context = dialog.getContext(); // do some work with context } };
Cela fonctionnera également pour les interfaces suivantes, utilisez simplement le premier DialogInterface dialogInterface
et le cast.