2011-08-15 21 views
8

Tôi đang yêu cầu cuz này Tôi tò mò.Đoạn phim Android ẩn hiển thị OnHide/OnShow?

1) Hầu hết các bản trình diễn của Google tìm các đoạn theo ID của nó nếu đoạn đã được tạo trong xml.

Vì vậy, nếu chúng tôi thực hiện cách tiếp cận đó, cách chúng tôi hiển thị các đoạn là ẩn nó và hiển thị nó vì các đoạn đã được tạo.

2) Ngoài ra còn có các ví dụ được cung cấp bởi google, nơi bạn có thể tạo phân đoạn bằng một hàm tạo và thổi phồng nó. Điều này hoạt động lạ bằng cách như getActivity() trả về null nếu nó được gọi trong đoạn đó.

Vì vậy, nếu tôi thực hiện phương pháp đầu tiên, tôi phải ẩn và hiển thị các đoạn. Vậy tại sao Google không cung cấp móc cho các đoạn như onHide hoặc onShow để chúng tôi có thể xử lý mọi thứ đúng cách thay vì tự dọn dẹp các chức năng mà chúng tôi triển khai và gọi một cách rõ ràng.

+0

bài này có một số câu trả lời liên quan: http://stackoverflow.com/questions/10024739/how-to-determine-when-fragment-becomes-visible-in-viewpager – treesAreEverywhere

Trả lời

25

Nếu bạn muốn treo op trên onHide/onShow chỉ ghi đè

public void onHiddenChanged(boolean hidden) { 
} 

trong đoạn của bạn.

-2

Tôi ghi đè hàm bên dưới để xác định xem một đoạn được hiển thị hay ẩn.

@ Override public void setMenuVisibility (final boolean có thể nhìn thấy)

0

By Overrinde setUserVisibleHint bạn có thể dễ dàng theo dõi nó.

@Override 
public void setUserVisibleHint(boolean isVisibleToUser) { 
    super.setUserVisibleHint(isVisibleToUser); 
    if(isVisibleToUser){ 
     //When fragment is visible 
    } 
    Log.i("my_fragment","setUserVisibleHint: "+isVisibleToUser); 
} 
Các vấn đề liên quan