2013-03-28 15 views
7

Tôi đang chuẩn bị một biểu mẫu trong đó tôi phải sử dụng cùng một trang để Thêm chi tiết và Chỉnh sửa chi tiết. Trong khi thêm chi tiết, tất cả các trường sẽ trống và lựa chọn spinner sẽ được đặt thành "không có lựa chọn". Bây giờ tôi muốn thiết lập lựa chọn spinner của mục mà tôi sẽ vượt qua từ các hoạt động trước đó. Làm thế nào để đạt được điều này? Vì spinner không có bất kỳ phương pháp nào giống như, setSelection (Chuỗi chuỗi); Hoặc là có cách nào khác, tôi có thể đạt được cơ chế này ...cách thiết lập lựa chọn spinner bằng văn bản bên trong nó

có ai vui lòng giúp tôi ...

+0

spinner là lớp con của AbsSpinner và AbsSpinner có một phương pháp setSelection http://developer.android.com/reference/android/widget/AbsSpinner.html#setSelection(int, boolean) –

+0

@nidhi_adiga. Ya đúng vậy. Nhưng tôi cần phải thiết lập lựa chọn spinner theo tên không phải bởi id, như tôi sẽ không có id của văn bản tôi muốn vượt qua để setSelection (int position) ;. –

+0

Tôi có thể làm như thế này không ?? category_spinner.setSelection (category_spinner_array_list.indexOf ("cat_name")); –

Trả lời

11

Tôi không tại mức độ thường xuyên này có thể được sử dụng nhưng chúng ta có thể thiết lập lựa chọn các spinner bằng văn bản bên trong nó. Spinner có phương pháp setSelection (vị trí int);. Bây giờ trong tham số, chúng ta cần truyền vị trí của văn bản mà chúng ta có thể lấy từ array_list mà chúng ta sử dụng để liên kết với adapter, bởi getIndexOf(Object object) và đối tượng phải thuộc loại ArrayList được khai báo Ví dụ, nếu ArrayList thuộc loại String, đối tượng được chuyển đến getIndexOf(Object object) phải thuộc loại String.

Cuối cùng, bạn thiết lập lựa chọn như sau:

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

Đây là những gì tôi đã làm và có vẻ như để làm việc tốt

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

dễ hiểu. cảm ơn bạn... –