Android'de, bir dinleyici ile seçilen Spinner değerini almaya çalışıyorum.
Döndürücünün değerini almanın en iyi yolu nedir?
Android'de, bir dinleyici ile seçilen Spinner değerini almaya çalışıyorum.
Döndürücünün değerini almanın en iyi yolu nedir?
Yanıtlar:
Spinner mySpinner = (Spinner) findViewById(R.id.your_spinner);
String text = mySpinner.getSelectedItem().toString();
Bir şey seçildiğinde Spinner bir "OnItemSelected" olayı başlatmalıdır:
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
Object item = parent.getItemAtPosition(pos);
}
public void onNothingSelected(AdapterView<?> parent) {
}
});
Bu, spinner girişleri (yani başlıklar) ve değerlere sahip xml'niz olduğunu varsayalım:
<resources>
<string-array name="size_entries">
<item>Small</item>
<item>Medium</item>
<item>Large</item>
</string-array>
<string-array name="size_values">
<item>12</item>
<item>16</item>
<item>20</item>
</string-array>
</resources>
ve bu sizin dönücünüz:
<Spinner
android:id="@+id/size_spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:entries="@array/size_entries" />
Sonra kodları almak için:
Spinner spinner = (Spinner) findViewById(R.id.size_spinner);
String size = spinner.getSelectedItem().toString(); // Small, Medium, Large
ve değerleri almak için:
int spinner_pos = spinner.getSelectedItemPosition();
String[] size_values = getResources().getStringArray(R.array.size_values);
int size = Integer.valueOf(size_values[spinner_pos]); // 12, 16, 20
android:entriesgünümü şenlendirdin.
Evet, buradasetOnItemSelectedListener() gösterildiği gibi üzerinden bir dinleyici kaydedebilirsiniz .
Öğenin zaten bir olduğunu biliyorsanız, Stringtercih ederim:
String itemText = (String) mySpinner.getSelectedItem();
Arayan toString()bir de Objectbildiğine göre bir olduğunu Stringsadece döküm daha dolambaçlı yolu gibi görünüyor Objectiçin String.
spinner referansına setOnItemSelectedListener ekleyin ve böyle verileri alın '
mSizeSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int position, long l) {
selectedSize=adapterView.getItemAtPosition(position).toString();