wake-up-neo.com

Android - Wie erhält man den ausgewählten Artikelwert von einem Spinner und fügt ihn in eine Zeichenfolge ein?

ich habe viele ähnliche Fragen in diesem Thread gelesen, aber keine von ihnen hilft mir ..... Dies ist mein Code:

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

    Spinner spinner = (Spinner) findViewById(R.id.imc_spinner);
    // Create an ArrayAdapter using the string array and a default spinner layout
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
    R.array.imc_array, Android.R.layout.simple_spinner_item);
    // Specify the layout to use when the list of choices appears
    adapter.setDropDownViewResource(Android.R.layout.simple_spinner_dropdown_item);
    // Apply the adapter to the spinner
    spinner.setAdapter(adapter);

}

public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
    // An item was selected. You can retrieve the selected item using

    imc_met = parent.getItemAtPosition(pos).toString();

}

Ich erkläre imc_met als public String imc_met;. Das Problem ist, dass imc_met nicht den Wert des ausgewählten Elements des Spinners enthält, sondern es ist null 

Wo ist das problem

Danke im Voraus.

10
Gimmy88

Benutzen:

imc_met = Spinner.getSelectedItem (). toString ();

Stattdessen:

imc_met = parent.getItemAtPosition (pos) .toString ();

Aktualisierte:

Anscheinend weisen Sie Ihrem Spinner Listener nicht auf korrekte Weise zu.

spin.setOnItemSelectedListener(new OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView<?> arg0, View arg1,
                    int arg2, long arg3) {
                String imc_met=spin.getSelectedItem().toString();

            }

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

            }
        });
31
RobinHood

Versuche dies:

imc_met=Spinner.getSelectedItem().toString();

Es tut mir Leid. Ich habe vergessen

spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
    public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
        imc_met=Spinner.getSelectedItem().toString();
        }
    }
7

ist

imc_met=spinner.getSelectedItem().toString();

nicht

imc_met=Spinner.getSelectedItem().toString();
2
Yoshi
int position = Arrays.asList(getResources().getStringArray(R.array.country_value_array)).indexOf(address.getCountry());

Dies wird den Index nach dem Wert erhalten.

1

Wenn der Spinner in der onCreate () -Methode nicht definiert ist, müssen Sie Folgendes verwenden:

String spinner_value = ((Spinner)findViewById(R.id.spinner1)).getSelectedItem().toString(); 
0