Autore Topic: Problema di context su Dialog  (Letto 399 volte)

Offline AR64SH

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Mostra profilo
Problema di context su Dialog
« il: 01 Luglio 2013, 18:34:02 CEST »
0
ciao a tutti, ho un'applicazione che a seconda degli intent ricevuti ha un comportamento differente. Per l'esattezza scarica foto e video in funzione degli intent ricevuti e avvia l'activity principale nel caso di un intent main. Il problema è che quando riceve l'intent per il download video vorrei fare un controllo della connessione, per far si che se non è sotto copertura Wifi non faccia nulla. Ho provato in vari modi. Mettiamo che il codice del dialog è questo:
Codice: [Seleziona]
AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("Titolo")
}
.setMessage("Seleziona SI o NO")
.setCancelable(false)
.setPositiveButton("SI", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) { Toast.makeText(context, "Hai cliccato SI", Toast.LENGTH_SHORT).show();
} })
.setNegativeButton("NO", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) { Toast.makeText(context, "Hai cliccato NO", Toast.LENGTH_SHORT).show();
} });
AlertDialog alert = builder.create();
alert.show();
Questo pezzo di codice non genera errori ma termina direttamente senza mostrare alcunchè. Mentre inserendo al posto del this passato al costruttore del builder la voce getApplicationContext() (et similia) si genera un eccezione. Penso sia abbastanza normale visto che non ha un content al quale fare riferimento. Qualche suggerimento?

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Problema di context su Dialog
« Risposta #1 il: 01 Luglio 2013, 20:49:00 CEST »
0
Scusa il gioco di parole, ma manca il contesto in cui è inserito il codice: dove lo fai eseguire?
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline AR64SH

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Mostra profilo
Re:Problema di context su Dialog
« Risposta #2 il: 04 Luglio 2013, 20:38:51 CEST »
0
Hai ragione, questo è un sample che ho preso da un libro perchè il mio codice è variato temporaneamente. Volevo evitare di riscrivere. Praticamente, il codice viene eseguito in un'app che opera a seconda dell'intent in modo diverso. Riceve intent send e allora scarica la foto, riceve intent view e scarica il video, riceve il main e avvia l'activity per gestire delle impostazioni. Ora, ogni qual volta serve carico delle preferenze dalle SharedPreferences. In questo caso, ad esempio il download dei video deve essere vincolato al controllo connessione WiFi attiva. Il dialog viene generato all'interno dell'if che attua il controllo. Sebbene il controllo avvenga (ho verificato), il dialog non viene visualizzato. Per il context ho provado a passare il getBaseContext() il getApplicationContext() il getApplication()... Insomma ho provato vari sistemi! Purtroppo è un periodo di esami e ho difficoltà e mancanza di tempo per rigenerare il codice che per ora ho rattoppato con un Toast e la chiusura dell'app, appena sono libero lo posto così da aiutare altri nella stessa situazione.
Grazie ciao :)