Werte aus anderem Layout übernehmen

  • Antworten:5
  • OffenNicht stickyNicht beantwortet
  • Forum-Beiträge: 7

08.04.2017, 16:24:18 via Website

Hallo Zusammen,

ich programmiere an einer App und habe einen Spinner, wo ich diverse Szenarien auswählen kann. Wenn ich auf einen Button klicke wechselt ich in ein anderes Layout. Dort soll er mir das ausgewählte Szenario aus dem Spinner der anderen Ansicht in einem Textfeld anzeigen.
Wie kann ich darauf zugreifen?

Vielen Dank.

Antworten
  • Forum-Beiträge: 2.902

08.04.2017, 17:05:24 via Website

Hallo Sandra,

willkommen im Forum .

Ohne den entsprechenden Code können wir sehr schlecht helfen , da wir
ansatzweise auch erkennen müssen , was du bereits gebastelt hast und wo du hängst.

Bitte sei so freundlich und kläre uns ein wenig detaillierter auf. :-)

P.S meinst du ein Layout oder rufst du durch den Button eine neue Activity/Fragment auf ?

— geändert am 08.04.2017, 17:07:22

Liebe Grüße - Stefan
[ App - Entwicklung ]

Antworten
  • Forum-Beiträge: 7

08.04.2017, 18:58:51 via Website

Ich rufe durch den Button "Weiter"
image folgendes Layout auf
image

Unter Szenarioname befindet sich ein Spinner, dieser soll auch bei Szenarioname im neuen Layout vorkommen.

Meine Java Klasse sieht wie folgt aus

public class Punktebogen extends AppCompatActivity implements AdapterView.OnItemSelectedListener, OnClickListener
{

Spinner spinner;
Spinner spinner2;
Button weiter;
String sze;

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


    spinner = (Spinner) findViewById(R.id.spinner);

    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,R.array.szenarien, android.R.layout.simple_spinner_item);

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    spinner.setAdapter(adapter);

    spinner.setOnItemSelectedListener(this);

 weiter = (Button) findViewById(R.id.Weiter);
 weiter.setOnClickListener((OnClickListener) this);

}

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {


   sze = (String) spinner.getSelectedItem();  

das habe ich bis nun versucht, aber es klappt nicht.

  }

@Override
public void onNothingSelected(AdapterView<?> parent) {

}


@Override
public void onClick(View v) {

    if (v==weiter){
        setContentView(R.layout.ein_spieler);
    }

}

}

Antworten
  • Forum-Beiträge: 2.902

08.04.2017, 19:39:02 via Website

Hallo Sandra,

so wie du das machst, ist es leider ein wenig ungewöhnlich :-)

Die "richtige" Vorgangsweise wäre eine weitere Activity mit deinem "ein_spieler" layout.
Daten kannst du dann per Intent an die nächste Activity übergeben

Schau mal bitte hier in der offiziellen Dokumentation :
https://developer.android.com/training/basics/firstapp/starting-activity.html

— geändert am 08.04.2017, 19:49:37

Liebe Grüße - Stefan
[ App - Entwicklung ]

Antworten
  • Forum-Beiträge: 7

12.04.2017, 16:51:22 via Website

Hallo,

ich habe eine neue Activity angelegt und gelange folgendermaßen über den Button "Weiter" dahin.

    Button weiter = (Button) findViewById(R.id.Weiter);
    weiter.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent weiter2 = new Intent(HdrPunktebogen.this, Einspieler.class);
            startActivity(weiter2);

Nur bekomme ich es nicht hin, dass er den gewählten Wert aus dem Spinner übernimmt und in ein Textfeld in der neuen Activty Einspieler übergibt.

Antworten

Empfohlene Artikel