424 Stimmen

Text der ausgewählten Elemente der Drehscheibe abrufen?

Wie erhalte ich den Text des mit der Spinne ausgewählten Elements?

Ich muss den Text für das ausgewählte Element in meinem Spinner erhalten, wenn ich auf die Schaltfläche "Speichern" klicke. Ich brauche den Text nicht den Index.

12voto

Irfan Ali Punkte 181
spinner_button.setOnItemSelectedListener(new OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?>arg0, View view, int arg2, long arg3) {

            String selected_val=spinner_button.getSelectedItem().toString();

            Toast.makeText(getApplicationContext(), selected_val ,
                    Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onNothingSelected(AdapterView<?> arg0) {
            // TODO Auto-generated method stub

        }
    });

}

12voto

Ahsan Punkte 327

Nach dem Setzen des Spinner-Adapters hilft dieser Code

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
            Toast.makeText(getApplicationContext(), "This is " +
                    adapterView.getItemAtPosition(i).toString(), Toast.LENGTH_LONG).show();

            try {
                //Your task here
            }catch (Exception e)
            {
                e.printStackTrace();
            }
        }

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

        }
    });

11voto

Miroslav Hrivik Punkte 742

Einzeilige Version:

String text = ((Spinner)findViewById(R.id.spinner)).getSelectedItem().toString();

UPDATE Sie können Casting entfernen, wenn Sie SDK 26 (oder neuer) zum Kompilieren Ihres Projekts verwenden.

String text = findViewById(R.id.spinner).getSelectedItem().toString();

8voto

user2294100 Punkte 81
TextView textView = (TextView) spinActSubTask.getSelectedView().findViewById(R.id.tvProduct);

String subItem = textView.getText().toString();

7voto

Student Punkte 807

Es kann auch mit wenig Aufwand erreicht werden Sicherer Weg über String.valueOf() so

Spinner sp = (Spinner) findViewById(R.id.sp_id);
String selectedText = String.valueOf(sp.getSelectedItem());

ohne dass die App abstürzt, wenn die Hölle losbricht. Der Grund für seine Sicherheit ist die Fähigkeit, mit null Objekte als Argument. Die Dokumentation sagt

wenn das Argument null , dann eine Zeichenkette gleich "null" ; andernfalls wird der Wert von [obj.toString()](https://developer.android.com/reference/java/lang/Object.html#toString()) zurückgegeben wird.

Es gibt also eine Versicherung für den Fall, dass man einen leer Spinner zum Beispiel, in die das aktuell ausgewählte Element umgewandelt werden muss String .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X