Obtenir le contexte dans onClick(View view)
, le rappel du onClickListener()
d'un bouton, est simple:
view.getContext()
Mais je n'arrive pas à comprendre comment obtenir le contexte dans onClick(DialogInterface v, int buttonId)
, le rappel pour un dialogue 's onClickListener
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
en tant que classe anonyme. Si vous êtes dans une activité, vous pouvez utiliser MyActivity.this
comme contexte.
Modifier - puisque votre activité implémente DialogInterface.OnClickListener
, vous devriez pouvoir simplement utiliser this
comme contexte.
Si votre DialogInterface est dans MainActivity, vous pouvez obtenir le contexte en utilisant
MainActivity.this.getActivityContext();
Btw Vous pouvez également implémenter DialogInterface (dans votre exemple de code, vous avez écrit deux implémentations) et la même instruction peut être utilisée pour obtenir le contexte de l'activité.
Voici comment vous le faites au cas où
Tout simplement,
dialogInterface
et le convertir en objet 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 également, utilisez simplement le premier param DialogInterface dialogInterface
et transt.