Autore Topic: Activity ed Intent  (Letto 300 volte)

Offline Friz02

  • Utente junior
  • **
  • Post: 104
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    s3 neo Samsung
  • Sistema operativo:
    windows 7
Activity ed Intent
« il: 30 Dicembre 2014, 14:28:04 CET »
0
Salve,
ho 3 activity A, B e C; sia da A che da B posso accedere a C cliccando ad esempio una immageView da A e un Button da B.
Cliccando il Button passo anche dei parametri con un Intent, pertanto in C dovrò anche recuperarli con i soliti metodi, ad esempio

Codice (Java): [Seleziona]
getIntent().getExtras().getString("string");
(per essere precisi il Button è un setPositiveButton di un AlertDialog, tramite il quale vado a creare e caricare un database in una listView)

Quando invece accedo da A non passo nessun parametro ma voglio solo vedere il relativo layout, cioè la listView caricata con il database di prima.
Ovviamente quando da A passo a B mi da errore perchè esegue sempre il codice relativo al recupero degli Intent (ma da A non passo alcun parametro) predisposto invece per l'activity B.
C'è un modo per riconoscere da quale activity si proviene e in base a questo far eseguire solo una parte di codice sull'activity di destinazione?...cioè vorrei, solo passando da A a C, che non venisse eseguita la parte di codice relativa al recupero degli Intent in modo da non avere errori e poter visualizzare la listView.


Offline Blodhgard

  • Utente junior
  • **
  • Post: 53
  • Respect: +3
    • Mostra profilo
    • Budget Veloce
  • Dispositivo Android:
    Nexus 5, S4 mini, Galaxy Tab S
  • Play Store ID:
    blodhgard
  • Sistema operativo:
    Windows 8.1
Re:Activity ed Intent
« Risposta #1 il: 02 Gennaio 2015, 23:40:16 CET »
0
Usa un blocco try catch oppure usa getStringExtra (Key,  default value) e metti il default value uguale a null.
« Ultima modifica: 03 Gennaio 2015, 13:54:13 CET da Blodhgard »

Offline Friz02

  • Utente junior
  • **
  • Post: 104
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    s3 neo Samsung
  • Sistema operativo:
    windows 7
Re:Activity ed Intent
« Risposta #2 il: 03 Gennaio 2015, 12:45:05 CET »
0
Ma getStringExtra(String name) riceve un solo argomento, perchè metti anche un secondo argomento "default value"?.
Il problema l'ho comunque risolto in un altro modo, ma mi piacerebbe capire anche quello che proponi tu.

Offline Blodhgard

  • Utente junior
  • **
  • Post: 53
  • Respect: +3
    • Mostra profilo
    • Budget Veloce
  • Dispositivo Android:
    Nexus 5, S4 mini, Galaxy Tab S
  • Play Store ID:
    blodhgard
  • Sistema operativo:
    Windows 8.1
Re:Activity ed Intent
« Risposta #3 il: 03 Gennaio 2015, 13:53:00 CET »
0
Sì scusa colpa mia, mi sono confuso con con gli altri metodi getIntExtra, getBooleanExtra ecc che richiedono un valore di default.
Comunque utilizzando getIntent().getStringExtra(key) non lancerà una eccezione ma restituirà semplicemente null se non trova il valore specificato da "key"(nel tuo caso quando passi da A a B)