it-swarm.com.de

Wie erhält man einen von Spinner ausgewählten Elementwert in eine Zeichenfolge?

Ich habe 5 Spinner. Um es zusammenfassend zu machen.

Dies ist ein Spinner in XML

<Spinner
            Android:id="@+id/text_interested"
            Android:layout_span="2"
            Android:layout_width="wrap_content"
            Android:layout_height="60px"
            Android:entries="@array/interestedarrays"
            Android:Prompt="@string/interestedprompt" />

Dies ist Spinner in Java

submitbtn.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
interested.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                        public void onItemSelected(
                                AdapterView<?> adapterView, View view,
                                int i, long l) {
                            interesting = interested.getItemAtPosition(i).toString();
                        }

                        public void onNothingSelected(
                                AdapterView<?> adapterView) {

                        }
                    });
    }
});

Erklärung hier:

Die Seite hat einen Button. Diese Taste liest die Daten aus dem Spinner, wenn sie gedrückt wird. Ich habe die Ausgabe damit überprüft

System.out.println(interested.getItemAtPosition(i).toString());

Es gab mir nichts, nicht einmal Null.

Wie kann ich den Wert abrufen und ihn mit einem String versehen?

60
Alan Lai

Versuche dies:

String text = mySpinner.getSelectedItem().toString();

So können Sie Wert für verschiedene Spinner bekommen.

159
Bhavin
String Text = mySpinner.getSelectedItem().toString();

ODER

mySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
        Object item = parent.getItemAtPosition(position);
    }
    public void onNothingSelected(AdapterView<?> parent) {
    }
});
18
santoshpatmca

Sie können das ausgewählte Element von Spinner erhalten, indem Sie

interested.getSelectedItem().toString();
9
Lalit Poptani

Wenn Ihr Spinner mit einem SQLite-Cursor gefüllt wurde, lautet die Lösung:

Spinner mySpin = (Spinner) findViewById(R.id.myspin);
mySpin.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {  
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
           SQLiteCursor item = (SQLiteCursor) parent.getItemAtPosition(position);
           String value = String.valueOf(item.getString(0));
           Toast.makeText(getApplicationContext(), "The option is:" + value , Toast.LENGTH_SHORT).show(); 
 }

PS: In item.getString(0) -> 0 ist der Index der Spalte am Cursor, die Sie erhalten möchten.

5
Mduarth

versuche dies

 final Spinner cardStatusSpinner1 = (Spinner) findViewById(R.id.text_interested);
    String cardStatusString;
    cardStatusSpinner1.setOnItemSelectedListener(new OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> parent,
                View view, int pos, long id) {
            cardStatusString = parent.getItemAtPosition(pos).toString();
        }

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

        }
    });

 final Button saveBtn = (Button) findViewById(R.id.save_button);
    saveBtn .setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub

            System.out.println("Selected cardStatusString : " + cardStatusString ); //this will print the result
        }
    });
5
sush

Zusätzlich zu den vorgeschlagenen

String Text = mySpinner.getSelectedItem().toString();

Du kannst tun,

String Text = String.valueOf(mySpinner.getSelectedItem());
4
Max

Wenn Sie einen Wert aus dem Spinner wählen, erhalten Sie

interested.getSelectedItem().toString();
2
Andy

Ich denke, Sie möchten das ausgewählte Element des Spinners, wenn Sie auf die Schaltfläche klicken.

Versuchen Sie getSelectedItem () :

spinner.getSelectedItem()
2
ngesh

Seit der neuesten Sprache für Android-Entwicklung ist Kotlin. So machen wir es in Kotlin mit dem Anonymous-Objekt. 

spinnerName?.onItemSelectedListener = object : AdapterView.OnItemSelectedListener{
    override fun onNothingSelected(parent: AdapterView<*>?) {
       println("Nothing Selected")
    }

    override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
       val selectedString = yourList[position]
    }

}
1
Hanny

Durch die Implementierung des SpinnerAdapter für Ihr Adapterobjekt verwende ich interested.getItem(i).toString()

1
GedankenNebel

versuche dies

sp1 = String.valueOf(spinner.getSelectedItem());
1
Thasreef Mogral

Der beste Weg dies zu tun ist: -

String selectedItem = spinner.getSelectedItem().toString();

sie können die Dokumente hier verweisen: Spinner

1
Deepak Vardhan