Spinner-Item für TextView verwenden

  • Antworten:6
  • OffenNicht stickyNicht beantwortet
  • Forum-Beiträge: 45

10.11.2016 17:28:34 via Website

Hallo,
ich habe ein Problem mit dem Spinner. Ich habe drei Spinner und möchte jeweils das zurzeit gewählte SpinnerItem auslesen und durch eine TextView ausgeben. Leider funktioniert das mit der getSelectedItem-Methode bei mir irgendwie nicht.

Mein Code:

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.activity_signal);

        Spinner spinnerTyp = (Spinner) findViewById(R.id.spinner_typ);
        ArrayAdapter<CharSequence> adapterTyp =
                ArrayAdapter.createFromResource(this, R.array.spinner_typ_daten, android.R.layout.simple_spinner_item);
        adapterTyp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinnerTyp.setAdapter(adapterTyp);
        spinnerTyp.setSelection(0);

        Spinner spinnerLaenge = (Spinner) findViewById(R.id.spinner_laenge);
        ArrayAdapter<CharSequence> adapterLaenge =
                ArrayAdapter.createFromResource(this, R.array.spinner_laenge_daten, android.R.layout.simple_spinner_item);
        adapterLaenge.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinnerLaenge.setAdapter(adapterLaenge);
        spinnerLaenge.setSelection(0);

        Spinner spinnerPaketrate = (Spinner) findViewById(R.id.spinner_paketrate);
        ArrayAdapter<CharSequence> adapterPaketrate =
                ArrayAdapter.createFromResource(this, R.array.spinner_paketrate_daten, android.R.layout.simple_spinner_item);
        adapterPaketrate.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinnerPaketrate.setAdapter(adapterPaketrate);
        spinnerPaketrate.setSelection(0);

        Button testsignalButton = (Button) findViewById(R.id.button_testsignal);
        testsignalButton.setOnClickListener(this);


    }

    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu_1, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        switch (item.getItemId()) {
            case R.id.anzeige:
                Intent intent1 = new Intent(this, MessungActivity.class);
                this.startActivity(intent1);
                break;
            case R.id.status:
                Intent intent3 = new Intent(this, MainActivity.class);
                this.startActivity(intent3);
                break;
            default:
                return super.onOptionsItemSelected(item);
        }
        return true;
    }

    @Override
    public void onClick(View view) {
        Toast.makeText(SignalActivity.this, "Testsignal gesendet!", Toast.LENGTH_SHORT).show();
        TextView letzteZeit = (TextView) findViewById(R.id.letzteZeit);
        TextView zeitstempel = (TextView) findViewById(R.id.zeitstempel);
        Calendar kalender = Calendar.getInstance();
        SimpleDateFormat zeitformat = new SimpleDateFormat("dd.MM.yyyy  HH:mm:ss");
        letzteZeit.setText("Letztes Signal gesendet um:");
        zeitstempel.setText(zeitformat.format(kalender.getTime()));

    }

In meiner onClick-Funktion unten möchte ich nun durch Klick auf den Button diese SpinnerItems ausgeben. (TextView-Elemente sind hierfür noch nicht definiert, also nicht wundern.)

Kann mir bitte jemand helfen?

Gruß Basti

  • Forum-Beiträge: 2.211

10.11.2016 17:44:10 via Website

Hallo Bastian,

was hindert dich daran , dem Spinner ein OnItemSelectListener zuzuordnen ?

— geändert am 10.11.2016 23:03:06

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

  • Forum-Beiträge: 2.211

10.11.2016 23:01:41 via Website

Hallo Bastian,

z.b. so

spinner.setOnItemSelectedListener(new OnItemSelectedListener()
{
public void onItemSelected(AdapterView arg0, View view, int position, long id)
{
int item = spinner.getSelectedItemPosition();
}
public void onNothingSelected(AdapterView arg0) { }
});

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

  • Forum-Beiträge: 45

17.11.2016 17:04:34 via Website

Weiß leider nicht genau, wo ich das einfügen soll..

Sorry bin noch nicht solange dabei.

  • Forum-Beiträge: 2.211

17.11.2016 17:13:19 via Website

Hallo Basti,

du hast doch einen Spinner und den hast du ja aus deinem Layout ermittelst
und dann machst das , was ich oben als Bespiel gegeben habe ..

Spinner spinnerPaketrate = (Spinner) findViewById(R.id.spinner_paketrate);
spinnerPaketrate.setOnItemSelectedListener(new OnItemSelectedListener() ......

Wenn du nicht zurecht kommen solltest , dann lege ich dir ans Herz,
nochmal deine Grundlagen ein wenig aufzufrischen ...

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

  • Forum-Beiträge: 45

23.11.2016 16:30:50 via Website

Danke für die Antworten. Ich habe es inzwischen auf eine andere Art und Weise geschafft! :)