Desidero visualizzare una finestra di avviso nella mia app. Sto usando frammenti. Ho provato il codice qui sotto per fare questo:Come visualizzare AlertDialog in un frammento?
AlertDialog ad = new AlertDialog.Builder(context)
.create();
ad.setCancelable(false);
ad.setTitle(title);
ad.setMessage(message);
ad.setButton(context.getString(R.string.ok_text), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
ad.show();
ma era che si infrangono e l'errore in logcat rimasto:
04-18 15: 23: 01,770: E/AndroidRuntime (9424): Android .view.WindowManager $ BadTokenException: Impossibile aggiungere finestra - nulla pedina non è per un'applicazione
da Internet sono venuto a sapere che l'incidente è dovuto al contesto problema. Avevo dato contesto come
context = this.getActivity().getApplicationContext();
Non so quale sia il problema con questo. Qualcuno può aiutarmi?
Cosa dovrebbe fare se getActivity() è zero? –
@SujithPt Quando 'getActivity()' restituisce null, significa che il frammento non è associato all'attività e non è necessario mostrare alcuna finestra di dialogo. – Mousa