2017-12-18 4 views
-1

Ich habe drei Aktivitäten angenommen ActivityA, ActivityB und ActivityC wo A begonnen hat B und B gestartet C dann B ist zerstört.
Jetzt muss ich einige Daten zurück zu ActivityA von ActivityC übertragen.Daten zwischen nicht verwandten Aktivitäten übertragen

Wie kann ich dies ohne SharedPreference oder Datenbank in Android erreichen? String

public static String your_value = ""; 

jetzt in Ihrer Aktivität C

+0

können Sie immer [Intent.FLAG_ACTIVITY_NEW_TASK] (https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_NEW_TASK) und [Intent.FLAG_ACTIVITY_CLEAR_TOP] (https://developer.android. com/reference/android/content/Intent.html # FLAG_ACTIVITY_CLEAR_TOP) als die Flags, zu denen Sie mit den zusätzlichen Daten, die mit 'putExtra()' angewendet wurden, gehen wollen. –

Antwort

2

Machen Sie einen Constant.class und erklären. Speichern Sie Ihren Wert so.

Constant.your_value = "123456"; 

und in Ihrer Aktivität A. Zugang so.

Log.d(getClass().getName(), "Your constant value "+Constant.your_value); 
+0

'und in Ihrer Aktivität A. Zugang so. Wann? – greenapps

+0

@greenapps wie von OP erwähnt ** Jetzt muss ich einige Daten zurück zu ActivityA ** so, wann immer er auf die Daten zugreifen möchte –

+0

Wie/Wann würde Aktivität A wissen, dass Daten verfügbar sind? – greenapps

-1

Verwendung setResult() Methode für diese Daten zurück

In ActivityC Gebrauch zu senden.

Intent intent = new Intent(); 
intent.putExtra("data", "yourdata") 
setResult(RESULT_OK, intent);   
finish(); 

Jetzt in Ihrer activityA Überschreibung Methode onActivityResult()

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if (requestCode == 1) { 
     if(resultCode == RESULT_OK) { 
      //get your data here 
      String strEditText = data.getStringExtra("data"); 
     }  
    } 
} 

Glücklich Codierung !!

Verwandte Themen