-2

Ich habe eine AppCompatSpinner mit 3 Einträge drin. Ich möchte, dass der gewählte Eintrag als String gespeichert wird, damit ich ihn in meiner Datenbank speichern kann.Wie erfassen oder speichern Sie den Wert von AppCompatSpinner als String in einer String-Variablen?

Hier ist der XML-Code:

<android.support.v7.widget.AppCompatSpinner 
       android:id="@+id/randomId" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="8dp" 
       android:layout_marginBottom="25dp" 
       android:entries="@array/aList" 
       style="@style/Base.Widget.AppCompat.Spinner"> 
      </android.support.v7.widget.AppCompatSpinner> 

Wie kann ich das tun?

Antwort

1

Sie müssen einen onItemClickListener zu Ihrem Spinner hinzufügen, der das macht, was Sie wollen.

Es könnte wie folgt aussehen:

appCompatSpinner.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) { 
      saveToDb(adapterView.getItemAtPosition(position).toString()); 
     } 
    }); 

Als Alternative könnten Sie OnItemClickListener in Ihrer Klasse implementieren, wenn Sie es vorziehen.

, das wie getan wird:

public class MySpinnerActivity extends Activity implements AdapterView.OnItemClickListener { 

    @Override 
    public void onCreate { 
     AppCompatSpinner appCompatSpinner = (AppCompatSpinner) findViewById(R.id.my_spinner); 
     appCompatSpinner.setOnItemClickListener(this); 
    } 

    @Override 
    public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) { 
     saveToDb(adapterView.getItemAtPosition(position).toString()) 
    } 
} 
Verwandte Themen