Autore Topic: Trasferire dati dall'Activity 2 all'Activity 1  (Letto 435 volte)

Offline Tiru

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows 10
Trasferire dati dall'Activity 2 all'Activity 1
« il: 07 Gennaio 2017, 14:13:07 CET »
0
Ciao, mi servirebbe sapere come passare una Stringa dall'Activity numero 2 all'Activity numero 1, su sangoogle trovo solo come passare dalla prima alla seconda ma in questo caso mi servirebbe il contrario.

Offline capitancooker

  • Utente junior
  • **
  • Post: 84
  • Marco
  • Respect: +7
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5, Asus Zenpad S 8.0
  • Sistema operativo:
    macOS Sierra
Re:Trasferire dati dall'Activity 2 all'Activity 1
« Risposta #1 il: 07 Gennaio 2017, 14:58:10 CET »
+1
Quello che ti serve è descritto qui: https://developer.android.com/training/basics/intents/result.html
Ciao,
Marco
Se sbaglio, correggetemi.

Offline Tiru

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows 10
Re:Trasferire dati dall'Activity 2 all'Activity 1
« Risposta #2 il: 07 Gennaio 2017, 22:49:54 CET »
0
scusa riscontro ancora problemi,
//SCRITTO NELLA ACTIVITY2
Intent intent = new Intent();
intent.putExtra("keyName", "ciao");  //keyName servirà dopo, ciao la stringa da passare
setResult(RESULT_OK, intent);

//SCRITTO NELL ACTIVITY1
private static final int SECOND_ACTIVITY_RESULT_CODE = 1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_livello1);

        init();


    }

    public void init(){
         Button provaa=(Button) findViewById(R.id.provaa);
        provaa.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(Livello1.this, Activity2.class);
                startActivityForResult(intent,RESULT_OK);
            }
        });
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);


        if (requestCode == SECOND_ACTIVITY_RESULT_CODE) {
            if (resultCode == RESULT_OK) {
                String returnString = data.getStringExtra("keyName");

            }
        }
    }
« Ultima modifica: 07 Gennaio 2017, 22:51:25 CET da Tiru »

Offline capitancooker

  • Utente junior
  • **
  • Post: 84
  • Marco
  • Respect: +7
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5, Asus Zenpad S 8.0
  • Sistema operativo:
    macOS Sierra
Re:Trasferire dati dall'Activity 2 all'Activity 1
« Risposta #3 il: 07 Gennaio 2017, 22:53:19 CET »
+1
prova a modificare questa riga:
Codice (Java): [Seleziona]
startActivityForResult(intent,RESULT_OK);con
Codice (Java): [Seleziona]
startActivityForResult(intent,SECOND_ACTIVITY_RESULT_CODE_OK);
Se sbaglio, correggetemi.

Offline Tiru

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows 10
Re:Trasferire dati dall'Activity 2 all'Activity 1
« Risposta #4 il: 09 Gennaio 2017, 15:42:46 CET »
0
ho sempre lo stesso problema, mi spiego meglio,entro nella prima activity e quando schiaccio il pulsante per entrare nella seconda, il pulsante si disattiva e nega l'accesso alla seconda activity. ho scoperto che togliendo il codice alla seconda activity il pulsante si riattiva ti rimando il codice e ti aggiungo il pulsante che collega le due activity:

ACTIVITY 1:


public class ACTIVITY1extends AppCompatActivity {

    private static final int SECOND_ACTIVITY_RESULT_CODE = 1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_livello1);

        init();
    }

    public void init(){
       //bottone di prova
        Button provaa=(Button) findViewById(R.id.provaa);
        provaa.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(Livello1.this, Pasta_pomodoro.class);
                startActivityForResult(intent,SECOND_ACTIVITY_RESULT_CODE);
            }
        });
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

       
        if (requestCode == SECOND_ACTIVITY_RESULT_CODE) {
            if (resultCode == RESULT_OK) {
                String returnString = data.getStringExtra("keyName");

            }
        }
    }

    public void apri (View view){
        Intent i = new Intent(ACTIVITY1.this, ACTIVITY2.class);
        startActivity(i);
    }

ACTIVITY 2:
//NEL ONCREATE.
Intent intent = new Intent();
intent.putExtra("keyName", "ciao");  //keyName servirà dopo, ciao la stringa da passare
setResult(RESULT_OK, intent);

Offline capitancooker

  • Utente junior
  • **
  • Post: 84
  • Marco
  • Respect: +7
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5, Asus Zenpad S 8.0
  • Sistema operativo:
    macOS Sierra
Re:Trasferire dati dall'Activity 2 all'Activity 1
« Risposta #5 il: 11 Gennaio 2017, 16:22:38 CET »
0
nel logcat è riportato qualche errore?
Se sbaglio, correggetemi.

Offline Tiru

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows 10
Re:Trasferire dati dall'Activity 2 all'Activity 1
« Risposta #6 il: 11 Gennaio 2017, 16:37:44 CET »
0
01-11 16:37:12.803 25349-25349/com.tironi.ingredienti W/System: ClassLoader referenced unknown path: /data/app/com.tironi.ingredienti-2/lib/arm64
01-11 16:37:12.890 25349-25349/com.tironi.ingredienti W/System: ClassLoader referenced unknown path: /data/app/com.tironi.ingredienti-2/lib/arm64
01-11 16:37:13.302 25349-25349/com.tironi.ingredienti I/HwSecImmHelper: mSecurityInputMethodService is null
01-11 16:37:13.313 25349-25349/com.tironi.ingredienti E/HAL: load: id=gralloc != hmi->id=gralloc
01-11 16:37:13.396 25349-25398/com.tironi.ingredienti E/HAL: load: id=gralloc != hmi->id=gralloc
01-11 16:37:13.397 25349-25398/com.tironi.ingredienti I/OpenGLRenderer: Initialized EGL, version 1.4
01-11 16:37:13.401 25349-25398/com.tironi.ingredienti W/OpenGLRenderer: load: so=/system/lib64/libhwuibp.so
                                                                        dlopen failed: library "/system/lib64/libhwuibp.so" not found
01-11 16:37:13.401 25349-25398/com.tironi.ingredienti W/OpenGLRenderer: Initialize Binary Program Cache: Load Failed
01-11 16:37:13.401 25349-25398/com.tironi.ingredienti E/HAL: load: id=gralloc != hmi->id=gralloc
01-11 16:37:13.510 25349-25349/com.tironi.ingredienti I/HwSecImmHelper: mSecurityInputMethodService is null
01-11 16:37:15.630 25349-25349/com.tironi.ingredienti I/HwSecImmHelper: mSecurityInputMethodService is null
01-11 16:37:15.797 25349-25349/com.tironi.ingredienti I/Process: Sending signal. PID: 25349 SIG: 9

Offline Tiru

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows 10
Re:Trasferire dati dall'Activity 2 all'Activity 1
« Risposta #7 il: 13 Gennaio 2017, 21:38:50 CET »
0
ho copiato in un progetto Prova questo codice Activity & Activity Lifecycle Android Explained | Androidifi ma nulla nel logcat esce questo:

DOPO AVER SCHIACCIATO IL BUTTON NELLA PRIMA PAGINA NON APRE NULLA E NEL LOGCAT:
01-13 21:37:19.138 448-448/com.tironi.prova I/HwSecImmHelper: mSecurityInputMethodService is null
01-13 21:37:20.199 448-448/com.tironi.prova I/HwSecImmHelper: mSecurityInputMethodService is null
01-13 21:37:20.393 448-448/com.tironi.prova I/HwSecImmHelper: mSecurityInputMethodService is null


DOPO AVERLO SCHIACCIATO UNA SECONDA VOLTA(non succede nulla e ):
01-13 21:38:03.758 448-448/com.tironi.prova I/Process: Sending signal. PID: 448 SIG: 9
01-13 21:38:03.971 1135-1135/com.tironi.prova W/System: ClassLoader referenced unknown path: /data/app/com.tironi.prova-2/lib/arm64
01-13 21:38:04.051 1135-1135/com.tironi.prova W/System: ClassLoader referenced unknown path: /data/app/com.tironi.prova-2/lib/arm64
01-13 21:38:04.418 1135-1135/com.tironi.prova I/HwSecImmHelper: mSecurityInputMethodService is null
01-13 21:38:04.429 1135-1135/com.tironi.prova E/HAL: load: id=gralloc != hmi->id=gralloc
01-13 21:38:04.466 1135-1141/com.tironi.prova W/art: Suspending all threads took: 6.936ms
01-13 21:38:04.497 1135-1157/com.tironi.prova E/HAL: load: id=gralloc != hmi->id=gralloc
01-13 21:38:04.498 1135-1157/com.tironi.prova I/OpenGLRenderer: Initialized EGL, version 1.4
01-13 21:38:04.503 1135-1157/com.tironi.prova W/OpenGLRenderer: load: so=/system/lib64/libhwuibp.so
                                                                dlopen failed: library "/system/lib64/libhwuibp.so" not found
01-13 21:38:04.503 1135-1157/com.tironi.prova W/OpenGLRenderer: Initialize Binary Program Cache: Load Failed
01-13 21:38:04.503 1135-1157/com.tironi.prova E/HAL: load: id=gralloc != hmi->id=gralloc
01-13 21:38:04.580 1135-1135/com.tironi.prova I/HwSecImmHelper: mSecurityInputMethodService is null