Ich möchte eine String-Variable senden, die in einen EditText auf ActivityOne eingegeben wird, um die Daten zu übergeben und als TextView auf ActivityThree angezeigt werden. Allerdings habe ich als einzige Lösung Probleme, die ich finden kann, weil die Aktivität währenddessen auf ActivityThree wechselt. Ich möchte dies vermeiden oder vielleicht sogar die Daten an ActivityThree senden und mit einem Klick auf ActivityTwo alle wechseln. Jede Hilfe oder Umleitung zu einer aktuellen Lösung würde sehr geschätzt werden.Wie gebe ich Daten von einem EditText in einer Aktivität an eine TextView in einer anderen Aktivität weiter, ohne zur zweiten Aktivität zu wechseln?
Antwort
Wenn Sie Daten von ActivityOne an ActivityThree senden möchten, indem Sie ActivityTwo vermeiden, dann speichern Sie diese Daten in einer statischen Variablen und verwenden Sie dann diese Variable in ActivityThree, um TextView-Daten festzulegen.
Sie können dies einfach mit SharedPreferences
tun.
Einstellung
EditText
Werte inPreference
vonActivityOne
:// EditText EditText editText = (EditText) findViewById(R.id.editText); SharedPreferences.Editor editor = getSharedPreferences("Your_Preference_Name", MODE_PRIVATE).edit(); editor.putString("KEY_VALUE", editText.getText().toString()); editor.commit();
In
ActivityThree
, abrufen Wert vonPreference
:SharedPreferences prefs = getSharedPreferences("Your_Preference_Name", MODE_PRIVATE); String editTextValue = prefs.getString("KEY_VALUE", null); // TextView TextView textView = (TextView) findViewById(R.id.textView); textView.setText(editTextValue);
Hope this helfen ~
Verwenden Sie eine globale Variable in der Application-Klasse und legen Sie ihren Wert in ActivityOne fest und lesen Sie den gleichen Wert aus ActivityThree.Global-Variablen sind für gesamte Projektaktivitäten verfügbar.
Der beste Weg ist die Eingabe extra. Tun Sie dies in Aktivität ein
Intent i = new Intent(ActivityOne.this, ActivityThree.class);
i.putExtra("label", "label_text");
startActivity(i);
erhalten dann die Zeichenfolge in Aktivität drei als solche:
EditText input = //intialize it in OnCreate
Intent intent = getIntent();
String data = intent.getExtras().getString("label");
input.setText(data);
Es gibt so viele Möglichkeiten, dies zu tun .. Aber es hängt stark ab, was Sie vorhaben zu tun mit Daten und Ihre Situation .. Wenn Sie Anzeige wollen die Daten in Aktivität drei, als Sie persist
Daten machen und es später zeigen, wenn die Aktivität drei ist erstellt oder wieder aufgenommen, jetzt:
1- Wenn Sie Anzeige wollen die Daten in Aktivität drei und Sie wollen den Wert nur in aktuelle Sitzung können Sie eine Global Variable
oder sogar Static ein, wenn Sie den gewünschten Wert als statische Variable in Ihrer Aktivität drei definieren, als Sie einfach darauf zugreifen und verwenden können es ohne Notwendigkeit, dass die Aktivität sogar erstellt wird:
public ActivityThree extends Activity {
public static String myValue;
2- Wenn Sie wollen Anzeige die Daten in Aktivität drei und Sie Daten wollen bestehen auch wenn die App geschlossen ist, können Sie SharedPreferences
verwenden, wie hier beschrieben: https://developer.android.com/training/basics/data-storage/shared-preferences.html
3- Wenn Sie eine Hintergrundaufgabe in Aktivität drei auf Wert, der bestimmt wird, ausführen möchten, können Sie LocalBroadcastManager
verwenden: https://www.intertech.com/Blog/using-localbroadcastmanager-in-service-to-activity-communications/
- 1. Ist es möglich, Daten an eine Aktivität zu übergeben, aber zu einer anderen Aktivität zu wechseln?
- 2. Zu einer anderen Aktivität wechseln
- 3. Hinzufügen von Textview zu einer anderen Aktivität
- 4. Wie gebe ich einen Kontext an eine Nicht-Aktivität weiter?
- 5. Wie Daten von einer Aktivität zu einer anderen Aktivität in Android
- 6. Intent von Aktivität zu einer anderen Aktivität mit RecyclerView senden
- 7. Von leerer Aktivität zu Navigationsschubladen-Aktivität wechseln
- 8. Übergeben von Daten von einer Aktivität an eine andere mithilfe von Bundle - nicht in der zweiten Aktivität angezeigt
- 9. Erhalten Sie Daten von einer anderen Aktivität
- 10. Wie navigiere ich von Fragment in einer Aktivität zu Fragment in einer anderen Aktivität?
- 11. Weiter Scrollen von einer Aktivität zu einer anderen
- 12. Zu einer anderen Aktivität in Robotium gehen
- 13. Pass Service von einer Aktivität zur anderen
- 14. Ich möchte Daten von einer Aktivität an eine andere Aktivität senden, ohne die zweite Aktivität zu starten
- 15. Verwenden Sie Stück einer Aktivität in einer anderen Aktivität
- 16. So analysieren Sie Daten von einer Aktivität zu einer anderen
- 17. Dynamisch fügen Sie Daten von einer Aktivität zur anderen
- 18. Datenbank aus einer Aktivität in einer anderen Aktivität öffnen
- 19. Wie verwende ich eine Variable aus einer Aktivität in einer anderen Aktivität in Android?
- 20. Append TextView einer anderen Aktivität über Haupt
- 21. Wie verwende ich eine Schaltfläche aus einer Aktivität, um sie zur Listenansicht einer anderen Aktivität hinzuzufügen?
- 22. übergeben Daten von einer Aktivität zu einem anderen in Xamarin.Android
- 23. Wie Recyclerview Daten aus einer anderen Aktivität
- 24. So übergeben Sie die Werte von einer Aktivität an vorherige Aktivität
- 25. eine Textview von anderer Aktivität
- 26. Zugriff auf GoogleMap-Objekt einer Aktivität in einer anderen Aktivität
- 27. Einstellung von FLAG_KEEP_SCREEN_ON einer Aktivität von einer anderen Aktivität
- 28. Recycling innerhalb einer bestehenden Aktivität vs. Eröffnung einer anderen Aktivität
- 29. Wie öffne ich eine Aktivität in einem Paketunterordner von einer anderen Aktivität?
- 30. Aufruf nicht statische Methode in Aktivität von einer anderen Aktivität
Verwenden Sie sharedreference, um Ihre aktuelle Eingabe in Ihrer aktuellen Aktivität zu speichern und sie für die andere Aktivität anzuzeigen. –