Autore Topic: Come ritornare allo stato di una activity dopo intent  (Letto 770 volte)

Offline dom4

  • Utente normale
  • ***
  • Post: 158
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Vodafone Ideos, Nexus 5
Come ritornare allo stato di una activity dopo intent
« il: 05 Giugno 2012, 19:09:31 CEST »
0
Salve ragazzi,ancora una volta ho bisogno del vostro aiuto..
Ho un activity A che inizialmente visualizza un bottone ,al click sul bottone viene visualizzato un edittext  ed un altro bottone .
Cliccando il secondo bottone viene lanciata un activity B in cui viene letto un codice a barre che dovrà poi essere restituito all'activity A, e nello specifico dovrà essere settato nell'edittext. Per restituire il codice a barre uso un intent,ma lanciando l'intent l'activity A viene ricreata da zero quindi con il primo bottone.

Come potrei risolvere questo problema?

Offline DarnellNajanReed

  • Utente normale
  • ***
  • Post: 359
  • Respect: +49
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus One, Acer Iconia A500/501, Asus Transformer Prime, Galaxy ACE, Galaxy S Plus, Galaxy S Advance P, Galaxy Tab 2 7.0, Google Nexus 7
  • Play Store ID:
    Luigi Notaro
  • Sistema operativo:
    OS X 10.8.3
Re:Come ritornare allo stato di una activity dopo intent
« Risposta #1 il: 05 Giugno 2012, 21:18:54 CEST »
+1
Le Activity implementano una modalità di passaggio dati come quella mi sembri serva a te:

http://developer.android.com/reference/android/app/Activity.html#startActivityForResult(android.content.Intent, int)

Offline dom4

  • Utente normale
  • ***
  • Post: 158
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Vodafone Ideos, Nexus 5
Re:Come ritornare allo stato di una activity dopo intent
« Risposta #2 il: 06 Giugno 2012, 19:53:19 CEST »
0
Le Activity implementano una modalità di passaggio dati come quella mi sembri serva a te:

http://developer.android.com/reference/android/app/Activity.html#startActivityForResult(android.content.Intent, int)

Ciao ti ringrazio per il suggerimento,conosco startActivityForResult ed in realtà faceva al caso mio.Ho risolto con la startActivity e se servisse a qualcuno posto il codice della soluzione:

Activity A(startActivityForResult )
Codice (Java): [Seleziona]
public void associaBarcode(View v)
int OK = 0;
{
  Log.i("","Cliccato associabarcode");
   intent = new Intent(CreaCaricoTGMActivity.this, MyBarcodeScannerCaricoTGMActivity.class);
   
    if(stato.equals("amministratore")){
     intent.putExtra(pkg+".stato", stato);
     intent.putExtra("provenienza", "carico");
   startActivityForResult(intent, OK);

  }

Codice (Java): [Seleziona]
 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
         if (requestCode == OK) {
            if (resultCode == RESULT_OK) {
                aggiungiRigaCarico(id);
                id++;

             }
            }
         }
Il metodo aggiungiRigaCarico effettua una serie di operazioni
ACTIVITY B
Codice (Java): [Seleziona]
 MyBarcodeScannerCaricoTGMActivity.this.setResult(RESULT_OK);
                         CreaCaricoTGMActivity.barcodeCarico = barcode;
                         Log.i("","result_ok");
                         MyBarcodeScannerCaricoTGMActivity.this.finish();
Spero possa essere di aiuto a qualcuno..