Autore Topic: è preferibile usare startActivity o startactivityforResult ?  (Letto 909 volte)

Offline daniweb

  • Nuovo arrivato
  • *
  • Post: 30
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    galaxy s2
  • Sistema operativo:
    windows 7
è preferibile usare startActivity o startactivityforResult ?
« il: 16 Novembre 2012, 11:09:44 CET »
0
ciao,
magari la domanda potrebbe sembrare siocca sapendo la differenza tra i due.. ma mi pongo (e vi pongo) la domanda lo stesso.

io ho un Activity con una listview, al onclick sulla listaview prelevo i dati e li passo su una nuova activity dove ho la possibilità di modificarli.

fino ad ora, seguendo le varie guide, ho usato startActivityForResult, inviavo i dati, al click del pulsante save l'activity secondaria veniva chiusa e tornavo alla principale dove in base al Result inserivo i dati, li aggiornavo oppure non facevo nulla (OnBackPressed)
in aggiunta di un DIalogBox per indicare il risultato.

ora però vorrei aggiungere dei controlli su questi campi, del tipo: il dato esiste già nel DB, il dato ha una "forma" incorretta etcc.. errori che posso sapere solo se interrogo i dati esistenti nel db.
inoltre vorrei avere un avviso dell'errore.

in questo caso, con l'activity principale a richiamare i metodi dal dbAdapter, quando vengo a conoscenza dell'errore sono già nell'activity principale.

mentre sarebbe più opportuno avere un esito fin tanto che sono nella activity secondaria e se l'esito è positivo chiuderla e tornare al a principale.

e qui arrivo alla domanda.
se il "lavoro" di interrogare il DB lo esegue l'activity secondaria, in maniera da avere subito le eventuali notifiche di errore, non è più indicato usare StartActivity ?

forse sto facendo confusione... ma è veramente poco che ho iniziato a fa conoscenza con il robottino  :-)

jfrankie

  • Visitatore
Re:è preferibile usare startActivity o startactivityforResult ?
« Risposta #1 il: 19 Novembre 2012, 11:12:02 CET »
0
Dipende da che cosa intendi ottenere.
StartActivity e StartActivityForResult sono in pratica la stessa cosa l'unica differenza è che nel secondo caso l'activity chiamante si aspetta un risultato.
Quindi se devi tornare un risultato usa StartActivityForResult altrimenti la startActivity è sufficiente
Ciao