Kann mir bitte jemand sagen, wie genau getExtra()
und in welcher putExtra()
Absicht zu verwenden ist? Eigentlich habe ich eine String-Variable, sagen wir str, die einige String-Daten speichert. Jetzt möchte ich diese Daten von einer Aktivität an eine andere Aktivität senden.
Intent i = new Intent(FirstScreen.this, SecondScreen.class);
String keyIdentifer = null;
i.putExtra(strName, keyIdentifer );
und dann in der SecondScreen.java
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.table);
TextView userName = (TextView)findViewById(R.id.userName);
Bundle bundle = getIntent().getExtras();
if(bundle.getString("strName")!= null)
{
//TODO here get the string stored in the string variable and do
// setText() on userName
}
}
Ich weiß, dass es eine sehr grundlegende Frage ist, aber leider stecke ich hier fest. Bitte helfen Sie.
Vielen Dank,
Bearbeiten: Hier ist die Zeichenfolge, die ich von einem Bildschirm auf den anderen übertragen möchte, dynamisch. Das heißt, ich habe einen editText, in dem ich Zeichenfolgen unabhängig von den Benutzertypen erhalte. Dann mit Hilfe von myEditText.getText().toString()
. Ich erhalte den eingegebenen Wert als Zeichenfolge, dann muss ich diese Daten übergeben.
quelle
Antworten:
Verwenden Sie dies, um die Datei zu "setzen" ...
Um den Wert abzurufen, versuchen Sie Folgendes:
quelle
this.getActivity().getIntent().getExtras()
.erste Screen.java
Zweiter Screen.java
quelle
Beste Methode ...
SendingActivity
Empfangsaktivität
/// kürzester Weg um Daten zu empfangen ..
// Dies erfordert API 12. // Der zweite Parameter ist optional. Wenn keyName null ist, verwenden Sie
defaultkey
as as data.quelle
Dies ist, was ich verwendet habe, hoffentlich hilft es jemandem .. einfach und affektiv.
Daten senden
Daten empfangen
Prost!
quelle
Es ist sehr einfach zu implementieren
intent
in Android .. Es Sie von einer Aktivität auf eine andere Tätigkeit zu bewegen braucht, haben wir zwei VerfahrenputExtra();
undgetExtra();
jetzt Sie ich das Beispiel zeige , ..Jetzt müssen wir den Wert aus dem
AnyKeyName
Parameter abrufen. Der unten angegebene Code hilft dabeiWir können den Empfangswert einfach von jedem Ort aus einstellen, an dem
Intent
wir ihn benötigen.quelle
Ein kleiner Nachtrag: Sie müssen keinen eigenen Namen für den Schlüssel erstellen, Android stellt diese bereit, z.
Intent.EXTRA_TEXT
. Ändern der akzeptierten Antwort:quelle
ApplicationActivity
quelle
Update in der Intent- Klasse.
hasExtra()
um zu überprüfen, ob die Absicht Daten zum Schlüssel enthält.getStringExtra()
direkt verwenden.Daten übergeben
Daten empfangen
Fügen Sie als Best Practice immer Schlüssel in Konstanten ein.
quelle
PutExtraConstants
eine Schnittstelle?PutExtraConstants
Klasse enthält nur Konstanten (public
,static
,final
). Daher ist es besser, die Schnittstelle für Konstanten zu verwenden.Einfacher
Absenderseite
Empfängerseite
quelle
String in Intent Object einfügen
NextAcitvity in der onCreate-Methode ruft String ab
Das ist eine einfache und kurze Methode
quelle
senden
erhalten
quelle
Funktion setzen
quelle
Daten pushen
Der obige Code befindet sich möglicherweise im Hauptcode
activity
. "MyActivity.class
" ist die Sekunde, dieActivity
wir starten wollen; Es muss explizit in IhrerAndroidManifest.xml
Datei enthalten sein.Daten ziehen
In diesem Beispiel befindet sich der obige Code in Ihrer
MyActivity.java
Datei.Fallstricke
Diese Methode kann nur bestehen
strings
. Nehmen wir also an, Sie müssen eineArrayList
an Ihre weitergebenListActivity
. Eine mögliche Problemumgehung besteht darin, eine durch Kommas getrennte Zeichenfolge zu übergeben und sie dann auf der anderen Seite zu teilen.Alternativlösungen
Verwenden
SharedPreferences
quelle
Einfach, in der ersten Aktivität
In der zweiten Aktivität-
quelle
Bei FirstScreen.java
Bei SecondScreen.java
quelle
String zuerst setzen
danach abrufen
das ist alles ;)
quelle
Sie können einfach eine statische Variable verwenden, um die Zeichenfolge Ihres Edittextes zu speichern, und diese Variable dann in der anderen Klasse verwenden. Hoffe das wird dein Problem lösen
quelle