0

Ich begann vor kurzem lernen Android-Entwicklung (Android Studio) und wirklich genießen es. Ich habe versucht, das selbst zu lösen, aber ich bin an den Punkt gekommen, wo ich um Hilfe bitten muss.Senden von String zu Unteraktivität mit i.putExtra und Anzeigen in Textansicht

Ich arbeite an diesem Tutorial: http://www.vogella.com/tutorials/AndroidIntent/article.html#exercise-starting-activities

Ich vermute, die Dinge in Schritt 6.6 oder 6.7 schief gehen.

ich eine Haupttätigkeit und eine Unteraktivität und mein Problem ist, dass die i.putExtra Daten, die ich an die Subaktivität senden nicht mit der ID im Textview angezeigt wird: displayintentextra

Hier ist mein Code :

Haupttätigkeit:

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 

    public void onClick(View view) { 
     EditText text = (EditText) findViewById(R.id.inputforintent); 

     String value = text.getText().toString(); 

     Intent i = new Intent(this, ResultActivity.class); 
     startActivity(i); 
     i.putExtra("Value1", "Check it"); 

    } 
} 

Sub-Aktivität:

public class ResultActivity extends Activity { 

    @Override 
    public void onCreate(Bundle bundle) { 
     super.onCreate(bundle); 
     setContentView(R.layout.activity_result); 

     Bundle extras = getIntent().getExtras(); 
     if (extras == null) { 
      return; 
     } 

     String value1 = extras.getString("Value1"); 
     if (value1 != null) { 

      TextView displayintentextra = (TextView) findViewById(R.id.displayintentextra); 
      displayintentextra.setText("Value1"); } 

    } 
} 

Subaktivität Textview:

<TextView 
     android:id="@+id/displayintentextra" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     /> 

Hinweis: Ich bin nicht sicher, ob der Textview wird „Wert1“ angezeigt oder „Check it“, wenn dieser Code ist festgelegt, aber es soll, um „Check it“. Momentan ist die Textansicht leer, wenn ich die App starte.

Ihre Hilfe wird sehr geschätzt.

Vielen Dank im Voraus, Alex

+1

Verwenden Sie displayintentextra.setText (Value1); – Sathish

Antwort

1

In MainActivity, legte i.putExtra("Value1", "Check it"); vor der Zeile startActivity(i);.

Intent i = new Intent(this, ResultActivity.class); 
i.putExtra("Value1", "Check it"); 
startActivity(i); 

Und in ResultActivity, ersetzen Sie die Zeile displayintentextra.setText("Value1"); mit displayintentextra.setText(value1);.

if (value1 != null) { 

      TextView displayintentextra = (TextView) findViewById(R.id.displayintentextra); 
      displayintentextra.setText(value1); } 
+0

Danke, JP, es funktioniert! – Alex

1

In MainActivity, legt i.putExtra() vor startActivity Verfahren. Derzeit liegen keine Bündel Extras zum ResultActivity übergeben werden, da sie vor dem Setzen der zusätzlichen Saite genannt wird ..

Intent i = new Intent(this, ResultActivity.class); 
i.putExtra("Value1", "Check it"); 
startActivity(i); 
+0

Danke, sJy! Es macht Sinn, warum es damals nicht funktioniert hat. – Alex

Verwandte Themen