Trước hết, tôi đã tham chiếu this link cho dù có nên trả lời câu hỏi của riêng mình hay không. Tôi cảm thấy điều này có thể rất hữu ích cho một người nào đó phải đối mặt với một vấn đề tương tự, vì vậy tôi xin lỗi nếu đây không phải là nghi thức đúng đắn cho trang web này (để trả lời câu hỏi của riêng bạn).
Bây giờ, tôi đã tình cờ tìm cách tìm giải pháp cho vấn đề này và với bản dùng thử và lỗi tôi đã thành công. Vì vậy, một khi bạn đã ActionBarSherlock SDK tải về và thiết lập trong dự án của bạn, tạo ra bố cục của bạn sẽ kết hợp các spinner:
<com.actionbarsherlock.internal.widget.IcsSpinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/title"
android:layout_margin="10sp"
android:layout_centerHorizontal="true"
android:textSize="18sp" />
Đoạn mã trên sẽ sử dụng phiên bản ICS của spinner đó là trong thư viện ActionBarSherlock. Tiếp theo, trong khai báo Hoạt động của bạn và khởi tạo (sử dụng đúc) đối tượng spinner. Nhưng lưu ý rằng bạn không sử dụng lớp Spinner bình thường, bạn sử dụng lớp IcsSpinner tìm thấy trong thư viện ActionBarSherlock:
IcsSpinner spinner = (IcsSpinner)findViewById(R.id.spinner);
Bây giờ, bạn tạo một adapter giống như bạn cho Spinner bình thường, như vậy:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.spinner_item, elements);
spinner.setAdapter(adapter);
Cuối cùng, bạn cần thiết lập onItemSelectedListener
. Chỉ khác biệt lớn ở đây là bạn sử dụng IcsAdapterView.OnItemSelectedListener
thay vì chỉ OnItemSelectedListener
:
spinner.setOnItemSelectedListener(new IcsAdapterView.OnItemSelectedListener(){
@Override
public void onItemSelected(IcsAdapterView<?> parent, View view, int position, long id){
}
@Override
public void onNothingSelected(IcsAdapterView<?> parent){
}
});
Và đó là nó. Nó thực sự không có nhiều khác nhau sau đó chỉ cần sử dụng đối tượng spinner. Dễ dàng như vậy, tôi mất một thời gian để tìm ra, vì vậy, tôi hy vọng điều này hữu ích cho một người nào đó.
Oh yeah, và đừng quên sử dụng một chủ đề ActionBarSherlock, như vậy (trong manifest):
android:theme="@style/Theme.Sherlock"
+1 cho một câu trả lời tốt. – Ahmad
Bất kỳ cách nào để sử dụng ICS như spinner với thư viện hỗ trợ Android? Tôi không sử dụng ActionBarSherlock. –
@sureshcheemalamudi [máy phát màu holo] (http://android-holo-colors.com/) sẽ làm, sự khác biệt duy nhất là nền, ics spinner là với gạch dưới ra – oscarthecat