2016-11-11 6 views
-2

Ich starte Android Studio und habe Tutorials angeschaut, aber keine scheint zu funktionieren. Ich habe vier Strings, spielernr1, spielernr2, spielernr3 und koenig und habe sie von EditTexts in der MainActivity-Klasse bekommen. Jetzt möchte ich sie in meiner Klasse von seite1 verwenden, aber ich weiß nicht, wie ich sie in die Klasse von seite1 importiere. Hier ist der Code der MainActivity Klasse:Wie bekomme ich einen String von einer Klasse zur anderen?

public class MainActivity extends AppCompatActivity { 
String spielernr1, spielernr2, spielernr3, koenig; 
EditText spieler1; 
EditText spieler2; 
EditText spieler3; 
EditText kartenkoenig; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 

    spieler1 = (EditText) findViewById(R.id.editText); 
    spieler2 = (EditText) findViewById(R.id.editText2); 
    spieler3 = (EditText) findViewById(R.id.editText3); 
    kartenkoenig = (EditText) findViewById(R.id.editText4); 
    Button startbutton = (Button) findViewById(R.id.button2); 
    startbutton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      spielernr1 = spieler1.getText().toString(); 
      spielernr2 = spieler2.getText().toString(); 
      spielernr3 = spieler3.getText().toString(); 
      koenig = kartenkoenig.getText().toString(); 

      setContentView(R.layout.activity_seite1); 


     } 
    }); 

} 

Und hier ist der Code des Seite1:

public class seite1 extends AppCompatActivity { 

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



} 

}

Antwort

5

Wenn ich Ihre Frage verstanden habe, haben Sie eine Aktivität, die einige Informationen erhält und sie in einer anderen Aktivität verwenden möchte. so können Sie Absichten wie dieser Code in der ersten Aktivität verwenden, wenn Sie auf die zweite Klasse gehen wollen:

Intent i = new Intent(ActivityOne.this, ActivityTwo.class); 
i.putExtra("value", "some string"); 
startActivity(i); 

in der zweiten Aktivität Verwenden Sie diesen Code:

Bundle extras = getIntent().getExtras(); 
// get data via the key 
String value1 = extras.getString("value"); 

können Sie Extras haben so viele wie Sie wollen

0

Sie müssen wahrscheinlich ein bisschen mehr darüber lesen, wie Sie neue Aktivitäten starten, tun Sie es falsch.

Sie sollten etwas davon haben:

Intent intent= new Intent(MainActivity.this,OtherActivity.class); 
starActivity(intent); 

Diese Seite wird Ihnen helfen, zu verstehen, wie eine neue Aktivität zu starten und Daten versenden.

Start and Send data

+0

Ihr Beispiel ist nicht besonders hilfreich, da es nicht zeigt, wie die 'Zeichen' an die Aktivität übergeben werden, die gestartet wird. Vielleicht könnten Sie es bearbeiten, um ein Beispiel zu geben? – clownba0t

+0

Danke für den Kommentar, haben Sie wirklich den Link überprüft, den ich hinzugefügt habe? Sie werden erfahren, wie Sie dem Bündel eine Zeichenfolge hinzufügen oder Extras verwenden können. –

+0

Der Link ist irrelevant. Abgesehen von der Tatsache, dass es tot sein könnte, startet der von Ihnen bereitgestellte Beispielcode einfach eine Aktivität ohne irgendwelche Extras, während das OP wissen muss, wie man Extras (in diesem Fall 'String' Extras) zu der Absicht hinzufügt, mit der es gestartet wird nächste Aktivität. Bitte missverstehen Sie nicht meine Absicht (kein Wortspiel beabsichtigt) - einfach versuchen, sicherzustellen, dass das OP eine klare Antwort hat :) – clownba0t

0

Zuerst müssen Sie erfahren, wie Intents zu verwenden, um Daten zwischen verschiedenen Aktivitäten zu teilen.

In erster Aktivitäts-:

Intent intent = new Intent(ActivityOne.this, ActivityTwo.class); 
i.putExtra("key", "StringToSend"); 
startActivity(intent); 

In der zweiten Aktivitäts-:

Intent i=getIntent(); 
String s = intent.getExtras().getString("key"); 

s Verwenden Sie diese Zeichenfolge in jeden Ort der Aktivität.

Verwandte Themen