Ứng dụng tôi đang phát triển có hoạt động mở rộng SherlockFragmentActivity
. Tôi muốn sử dụng tùy chọn api để dễ dàng thêm các tùy chọn vào hoạt động. Vì tôi muốn hỗ trợ api cấp 8 trở lên, tôi phải mở rộng hoạt động từ lớp SherlockPreferenceActivity
.Ưu tiên AndroidKích thước và đoạn hội thoại
Vấn đề là hoạt động cần hiển thị hộp thoại. Hộp thoại mở rộng SherlockDialogFragment
. Phương thức show()
của hộp thoại cần hai thông số: đối tượng FragmentManager
và thẻ String
.
Để có được đối tượng FragmentManager
, tôi thường gọi phương thức getSupportFragmentManager()
của hoạt động. Phương thức này bị thiếu từ SherlockPreferenceActivity
. Tôi cố gắng để sử dụng getFragmentManager()
nhưng Eclipse nói rằng
Phương pháp hiển thị (FragmentManager, String) trong các loại DialogFragment là không áp dụng cho các đối số (FragmentManager, String)
Làm thế nào tôi có thể hiển thị đoạn hộp thoại từ SherlockPreferenceActivity
?
Tôi có cùng một vấn đề. Chúng ta cần lấy FragmentManager từ gói hỗ trợ nhưng không có thứ gì trong SherlockPreferenceActivity. = ( –
Tôi đã giải quyết nó theo cách khác. Tạo một hoạt động khác trong cùng một packege (nhớ thêm hoạt động mới này vào tệp kê khai). Mở rộng SherlockPreferenceActivity và triển khai giao diện SharedPreferences.OnSharedPreferenceChangeListener. Hãy xem trang web dành cho nhà phát triển Android để hiểu Làm thế nào để viết hoạt động này Sử dụng hoạt động này để quản lý các sở thích của người dùng Từ hoạt động khác, khi người dùng nhấn nút cài đặt, hãy bắt đầu hoạt động ưu tiên với mục đích từ hoạt động chính bạn có thể đọc cài đặt bằng PreferenceManager. –