2016-05-12 6 views
0

Wie wird eine String-Variable von der ersten zur vierten Aktivität gesendet?String-Variable zwischen der ersten Aktivität und der vierten Aktivität senden

Ich habe 2 String-Variablen auf meiner ersten Aktivität, ich möchte sie an die vierte Aktivität übergeben. Wie würde ich die Daten abrufen, wenn ich diese Syntax verwende?

Public class FirstActivity extends AppCompatActivity { 
     public static String first_string ; 
     public static String last_string ; 

Gibt es einen besseren Weg?

+1

Mögliche Duplikat [Wie gehe ich Daten zwischen den Aktivitäten auf Android?] (http://stackoverflow.com/questions/2091465/how-doi-i-pass-data-between-activities-on-android) –

Antwort

0

Ab jetzt kann man sie nur Zugang von FourthActivity mit:

String first_string_new = FirstActivity.first_string; 

Aber, würde ich Ihnen empfehlen statische Werte zu vermeiden und sie als Statisten mit gebrauchten geben Intent.

Von FirstActivity:

intent.putExtra("FIRST_STRING", first_string); 
intent.putExtra("SECOND_STRING", last_string); 
startActivity(intent); 

die Strings in der FourthActivity Erhalten:

Bundle extras = getIntent().getExtras(); 
String first_string_new = extras.getString("FIRST_STRING"); 
String second_string_new = extras.getString("SECOND_STRING"); 

prüfen this question ein anderes Beispiel mit Extras in der Absicht zu sehen.

+0

Ich möchte wissen, wird die startactivity (intent) line direkt activity4 starten? – AtonfO64

+0

Ja, wenn Sie die Absicht erstellen als: 'Absicht intent = neue Absicht (this, FourthActivity.class);' –

+0

Aber ich will nicht, also wie werde ich verarbeiten, um Aktivitäten 2 & 3 vor activity4 zu bekommen? – AtonfO64

1

Es gibt zwei Möglichkeiten, dies zu tun 1) Verwenden Sie Intent Methode. In der ersten Aktivität intention.putExtra ("firststring", firststring); So similiar Prozess in 2. 3. Aktivität

Im vierten Aktivität

String first = getIntent().getExtras().getString("firststring"); 

.

2) Verwenden Sie sharedpreference Methode

In der ersten Aktivität

public static final String MyPREFERENCES = "MyPrefs"; 
    SharedPreferences sharedpreferences; 
sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE); 
SharedPreferences.Editor editor = sharedpreferences.edit(); editor.putString("firststring", firststring); 

Im vierten Aktivität

public static final String MyPREFERENCES = "MyPrefs"; 


SharedPreferences sharedpreferences; 
sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE); 

String firststing = sharedpreferences.getString("firststring", "firststring"); 
Verwandte Themen