[GELÖST] Übergabe an zweite Activity

T

Tomax63

Neues Mitglied
2
Guten Tag Zusammen

Ich versuche, einen String an eine zweite Activity zu übergeben.
Sendende Activity:
Code:
                Intent i = new Intent( MainActivity.this, Main2Activity.class);
                EditText feld = (EditText) findViewById(R.id.json_daten);
                i.putExtra("json_daten", feld.getText());
                startActivity(i);

Empfangende Activity:
Code:
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        Intent intent=this.getIntent();
        EditText json_daten = (EditText) findViewById(R.id.json_daten);
        Bundle bundle=intent.getExtras();
        String ersatz = "[{\"ID\":\"29\",\"Bereich\":\"sp\",\"Level\":\"1\",\"Anteil\":\"10\",\"Text\":\"Ersatztext\"}}]";
        String json_raw = getIntent().getExtras().getString("json_daten", ersatz);
        json_daten.setText(json_raw);
        System.out.println(json_raw + "<----2");
Es wird immer nur der Ersatztext verarbeitet. Lasse ich ihn weg, steht immer null im empfangenden Parameter.
Was mache ich falsch?

Danke
Thomas
 
Moin Thomas

mach mal
Bundle bundle=intent.getExtras();
if (bundle != null)
{
String raw = bundle.getString ("json_daten");
if ( (raw.isemty()) || (raw == null))
raw = ersatz;



*Gähn* -> Kafee
 
leider kein Erfolg. Damit stürzt das Programm ab.
Code:
        String json_raw = "";
        if (bundle != null){
            json_raw = bundle.getString ("json_daten");
            if ( (json_raw.isEmpty()) || (json_raw == null))
                json_raw = ersatz;}
 
wo denn genau bitte ?

poste mal bitte AS Errorlog
 
Hallo, wozu brauchst du das Bundle? Ich würde dir empfehlen die hasExtra-Methode vom Intent zu verwenden.
Code:
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        Intent intent=this.getIntent();
        EditText json_daten = (EditText) findViewById(R.id.json_daten);

        if (intent.hasExtra("json_daten)) {
        String ersatz = "[{\"ID\":\"29\",\"Bereich\":\"sp\",\"Level\":\"1\",\"Anteil\":\"10\",\"Text\":\"Ersatztext\"}}]";
        String json_raw = getIntent().getExtras().getString("json_daten", ersatz);
        json_daten.setText(json_raw);
        System.out.println(json_raw + "<----2");}
 
Kann es sein, dass du hier noch .ToString(); anfügen musst?
Code:
i.putExtra("json_daten", feld.getText());

Ansonsten mache ich meine Übergabe folgendermaßen:
Activity A
Code:
Intent sendData = new Intent(ScanActivity.this, MainActivity.class);
sendData.putExtra("scanData", code.displayValue.toString());
startActivity(sendData);

Activity B
Code:
bundle = getIntent().getExtras();
String scanIntentData = (String) bundle.get("scanData");
scanCodeData = scanIntentData;
 
  • Danke
Reaktionen: deka und swa00
@lordzwieback hat recht. Dir fehlt die toString() beim Edittext.
 
  • Danke
Reaktionen: lordzwieback und swa00
Danke Jungs ... ich war wohl doch nicht sooooo wach , wie erhofft :)
 
Du alte Schlafmütze, Kaffeeinfusion schon leer? :)

EDIT Stefan : Nööö, Schläuche reichen nicht :)
 
Zuletzt bearbeitet von einem Moderator:
Hallo

Kann leider gerade nichts testen, bin erst Dienstag wieder am Rechner an dem ich programmiere.
Danke schon mal bis hier.

Ich melde mich
Thomas
 
  • Danke
Reaktionen: lordzwieback
das "toString()" war der nicht vorhandene Übeltäter...
Danke!!
 
  • Danke
Reaktionen: lordzwieback

Ähnliche Themen

5
Antworten
0
Aufrufe
745
539901
5
FabianDev
Antworten
5
Aufrufe
557
swa00
swa00
M
Antworten
8
Aufrufe
954
deek
D
Zurück
Oben Unten