2012-03-22 38 views
7

Ai đó có thể giải thích cho tôi hoặc có thể chỉ liên kết hoặc ví dụ về cách xử lý hướng màn hình khi nói đến các đoạn. Vấn đề mà tôi đang gặp phải hiện tại là tôi có một ứng dụng với một thanh hành động với ba tab. Mỗi tab chứa một đoạn. Vì vậy, khi tôi lật thiết bị, chỉ có một đoạn mà tôi thiết lập như là lựa chọn sử dụnghướng màn hình xử lý mảnh với các tab trong thanh tác vụ

actionbar.setSelectedNavigationItem(1) 

được hiển thị (không có sự nhầm lẫn, các tab khác có thể nhìn thấy, nhưng khi tôi bấm vào chúng có gì xảy ra, họ có thể không được chọn và hiển thị. Nội dung của họ không bao giờ được hiển thị). Có cái gì đó được thực hiện trong những trường hợp này? Ai đó có thể cho tôi lời khuyên, tôi sẽ đánh giá cao nó. Cảm ơn.

Trả lời

13

tôi đã cùng một vấn đề và tìm ra giải pháp ở đây: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/FragmentTabs.html

Vấn đề là đã có mảnh vỡ cho các tab từ trạng thái đã lưu trước đó. Bạn phải hủy kích hoạt chúng.

Dưới đây là các mã đoạn cho các nhà xây dựng của TabListener của bạn:

public TabListener(Activity activity, String tag, Class<T> clz, Bundle args) { 
     mActivity = activity; 
     mTag = tag; 
     mClass = clz; 
     mArgs = args; 

     // Check to see if we already have a fragment for this tab, probably 
     // from a previously saved state. If so, deactivate it, because our 
     // initial state is that a tab isn't shown. 
     mFragment = mActivity.getFragmentManager().findFragmentByTag(mTag); 
     if (mFragment != null && !mFragment.isDetached()) { 
      FragmentTransaction ft = mActivity.getFragmentManager().beginTransaction(); 
      ft.detach(mFragment); 
      ft.commit(); 
     } 
    } 

Hy vọng tôi có thể giúp bạn.

+0

Tôi đã tìm ra điều tương tự, cách đây vài ngày. Nhưng giải quyết nó hơi khác một chút. Trong phương thức onDestroyView trong các đoạn, tôi gọi remove cho đoạn cụ thể đó, vì vậy nó sẽ không là bất kỳ đoạn nào từ các trạng thái trước đó. Nhưng cách của bạn giải quyết vấn đề quá, tôi tưởng tượng. Cảm ơn bạn! – Sandra

+0

Được giải thích rõ ràng, có ý nghĩa, giải quyết một vấn đề chung cụ thể. Cảm ơn nhiều. A + – LeffelMania

+1

Cảm ơn! BTW, tôi sử dụng ẩn/hiển thị thay vì tách/đính kèm là một số nơi, để tránh xem đoạn giải trí (đôi khi nó dài). Và nó cũng hoạt động. –

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