5

Tôi hiện đang quay trở lại ứng dụng của mình để làm cho ứng dụng hoạt động trên thiết bị trước 3.0 bằng cách sử dụng bộ đệm hành động.ActionbarSherlock - các tab không hồi đáp theo hướng ngang

Nếu người dùng khởi chạy ứng dụng ở chế độ dọc và sau đó xoay màn hình và cố gắng chọn một tab không có gì xảy ra cho đến khi người dùng tạo một hành động khác. Bản dựng hiện tại có thể tải xuống ở đây (sherlock-alpha1) http://tinyurl.com/cz95nup.

Tabs được thêm vào theo cách sau

 bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 
     bar.addTab(bar.newTab().setText("tab1").setTabListener(this),false); 
     bar.addTab(bar.newTab().setText("tab2").setTabListener(this),false); 
     bar.addTab(bar.newTab().setText("tab3").setTabListener(this),false); 

này cũng xảy ra nếu bạn chạy ứng dụng trong cảnh quan và sau đó sử dụng nó ở chế độ dọc (tab chân dung sẽ không hoạt động).

Nó hoạt động tốt trên các thiết bị chạy thanh tác vụ gốc.

+0

Bạn đang chạy minSDKversion nào ngay bây giờ? – Davek804

+0

@ Davek804 android: minSdkVersion = "7" – bencallis

+0

Gần đây tôi đã làm điều tương tự và tôi không gặp phải lỗi này. Liệu nó vẫn xảy ra nếu bạn chuyển minVersion của bạn đến 10? Bạn đang thử nghiệm thiết bị phiên bản nào? Đó có phải là AVM không? – Davek804

Trả lời

11

Bạn có đang xử lý các thay đổi cấu hình trong tệp kê khai không?

android:configChanges="orientation" 

Nếu vậy điều này không cho phép chế độ xem trang trí giả mà ActionBarSherlock cài đặt sẽ được khởi tạo lại khi xoay vòng sẽ gây ra nhiều sự cố.

Thay đổi cấu hình xử lý nên được sử dụng ít nhất có thể. Tài liệu nêu rõ rằng it should be used as a last resort.

Phiên bản tương lai của thư viện hy vọng sẽ có thể giải thích cho những người chọn thực hiện việc này.

+0

Tôi có cảm giác nó có thể liên quan đến điều này. Tôi sẽ phải làm lại mã của mình. Nó hiện đang được sử dụng để ngăn chặn danh sách đang được tải về và để cấu hình chiều rộng của mảnh danh sách trên thay đổi định hướng. Bất kỳ ý tưởng đơn giản nào về cách thực hiện điều này theo một cách khác? Cảm ơn về sự hỗ trợ. – bencallis

0

Tôi gặp sự cố tương tự. Tôi đã phải thêm những dòng này và nó là ok trên AVD, không biết nếu nó đang làm việc trên các thiết bị thực sự.

<supports-screens android:largeScreens="true" android:normalScreens="true" android:smallScreens="true" android:anyDensity="true" /> 
+0

Dường như dường như không làm việc cho tôi. – bencallis

3

Đối với tôi đó là không đáp ứng sau khi thay đổi định hướng, không phải trong chế độ phong cảnh. Sau rất nhiều thử nghiệm và các lỗi tôi đã tìm thấy các giải pháp sau đây cho lỗi này:

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); 
    super.onConfigurationChanged(newConfig); 
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 
} 

Bí quyết là để thay đổi chế độ điều hướng để liệt kê sau đó thay đổi trở lại tab.

+0

Hey người đàn ông này thật tuyệt vời! – rocknow

Các vấn đề liên quan