Wie speichere ich die Spinner-Werte in einer Datenbank?
-
27-10-2019 - |
Frage
Ich bin neu in Android, versuche, den Spinner-Wert in der Datenbank zu speichern, erhalte aber beim Speichern in der Datenbank eine Fehlermeldung.Kann mir bitte jemand helfen? Hier ist mein Code,
mGender = (Spinner)findViewById(R.id.spinner1);
String gender = mGender.toString();
values.put("gender", gender);
Ich habe den Code geändert, damit ich den Spinner-Wert lesen kann, aber wenn ich meine Datenbank überprüfe, werden nicht die genauen Informationen angezeigt, die im Spinner angegeben sind, sondern so etwas wie
android.widget.Spinner@41372738
android.widget.Spinner@41382ae0
für die gleichen Werte.Kann mir bitte jemand helfen.
Danke im Voraus
Lösung
Schließlich fand ich die Antwort auf diese Frage, indem ich die verschiedenen Tutorials und Beispiele durchging.Die Lösung hierfür lautet:
mGender = (Spinner)findViewById(R.id.spinner1);
// Spinner method to read the on selected value
ArrayAdapter<State> spinnerArrayAdapter = new ArrayAdapter<State>(this,
android.R.layout.simple_spinner_item, new State[] {
new State("Male"),
new State("Female")});
mGender.setAdapter(spinnerArrayAdapter);
mGender.setOnItemSelectedListener(this);
public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
{
// Get the currently selected State object from the spinner
State st = (State)mGender.getSelectedItem();
// Show it via a toast
toastState( "onItemSelected", st );
}
public void toastState(String name, State st)
{
if ( st != null )
{
Gen = st.name;
//Toast.makeText(getBaseContext(), Gen, Toast.LENGTH_SHORT).show();
}
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
Sie müssen einen Spinner erstellen und die Werte in der onCreate-Methode zuweisen.und einen weiteren Klassenstatus zum Lesen der Spinnerwerte.
public class State
{
public String name = "";
public State(String _name)
{
name = _name;
}
public String toString()
{
return name;
}
}
Vielen Dank an alle ...
Andere Tipps
category = (Spinner)findViewById(R.id.category_group);
category_spinner= new ArrayAdapter(this,android.R.layout.simple_dropdown_item_1line,
getResources().getStringArray(R.array.category_value));
category.setAdapter(category_spinner);
category.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
sppiner_Text= category_spinner.getItem(arg2).toString();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
//onSaveButton Click you just insert the value in DB
insert(sppiner_Text);