2013-03-28 15 views
7

Przygotowuję formularz, w którym muszę użyć tej samej strony do dodawania szczegółów i edycji szczegółów. Podczas dodawania szczegółów wszystkie pola będą puste, a wybór pokrętła zostanie ustawiony na "brak wyboru". Teraz chcę ustawić pokrętło wyboru elementu, który przejdę z poprzedniego działania. Jak to osiągnąć? Jako że spinner nie ma żadnej metody, coś w stylu, setSelection (String string); Czy jest jakiś inny sposób, mogę osiągnąć ten mechanizm ...ustawianie wyboru pokrętła za pomocą tekstu wewnątrz niego

Czy ktoś mógłby mi pomóc ...

+0

spinner jest podklasą AbsSpinner i AbsSpinner ma metodę setSelection http://developer.android.com/reference/android/widget/AbsSpinner.html#setSelection(int, boolean) –

+0

@nidhi_adiga. Tak, to prawda. Ale muszę ustawić pokrętło wyboru według nazwy, nie przez id, ponieważ nie mam id tekstu, który chcę przekazać do setSelection (pozycja int). –

+0

Hej, mogę to zrobić? category_spinner.setSelection (category_spinner_array_list.indexOf ("cat_name")); –

Odpowiedz

11

dont teraz jak często to może być stosowane, ale możemy ustawić wybór turbinki przez tekst w środku. Spinner ma metodę setSelection (pozycja int);.

Teraz w parametrze musimy zdać pozycję tekst, który możemy otrzymać od array_list używamy do związania adaptera przez getIndexOf(Object object) i obiektu powinna być tego rodzaju ArrayList który jest zadeklarowanym Na przykład, jeśli ArrayList jest typu String, obiekt do przekazania do getIndexOf(Object object) powinien być typu String.

Wreszcie, można ustawić wybór jak poniżej:

spinner.setSelection (spinner_array_list.indexOf(string)); 
13

To co zrobiłem i wydaje się działać prawidłowo

Spinner my_spinner=(Spinner)findViewById(R.id.spn_items); 
ArrayAdapter<String> array_spinner=(ArrayAdapter<String>)my_spinner.getAdapter(); 
    my_spinner.setSelection(array_spinner.getPosition("list item")); 
+0

łatwe do zrozumienia. dzięki Ci... –

Powiązane problemy