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:entries
günümü şenlendirdin.
Evet, buradasetOnItemSelectedListener()
gösterildiği gibi üzerinden bir dinleyici kaydedebilirsiniz .
Öğenin zaten bir olduğunu biliyorsanız, String
tercih ederim:
String itemText = (String) mySpinner.getSelectedItem();
Arayan toString()
bir de Object
bildiğine göre bir olduğunu String
sadece döküm daha dolambaçlı yolu gibi görünüyor Object
iç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();