2011-12-27 32 views
16

Tôi đang thử triển khai "pull to refresh" trên ListFragment nhưng hiện tại không có thư viện nào trong số các thư viện có vẻ hỗ trợ nó. Không có cách nào để phát hiện overscroll trên danh sách mảnh mà tôi có thể nhìn thấy vì vậy tôi tự hỏi nếu có ai đã tìm thấy một phương tiện để có được điều này làm việc?Cách triển khai kéo để làm mới trên ListFragment

-

Sử dụng mẹo của Cơ đốc giáo Tôi đã sử dụng phương pháp onCreateView() sau đây.

@Override 
public View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
{ 
    PullToRefreshListView listView = new PullToRefreshListView(getActivity()); 
    mAdapter = new HomeTweetListAdapter(getActivity(), R.layout.tweet_list_item, tweets); 
    listView.setAdapter(mAdapter); 
    return listView; 
} 

Giống như Christian cho biết bạn chỉ có thể làm điều này với Phân đoạn. Trả lại bất cứ điều gì khác hơn là một ListView trên một lỗi ListFragment ra.

EDIT: Để làm rõ Tôi đang sử dụng Johan's PullToRefresh library

Trả lời

10

Tôi thực sự làm cho nó hoạt động bằng cách sử dụng các đoạn (không phải ListFragment). Vì vậy, nó là cơ bản giống nhau, chỉ cần trả lại PullToRefreshListView từ phương pháp onCreateView của bạn và đó là nó. Nó cũng sẽ hoạt động với ListFragment; hãy nhớ rằng bạn phải trả lại ListView từ onCreateView nếu bạn sử dụng ListFragment (bạn có thể trả lại bất kỳ điều gì bạn muốn nếu bạn chỉ sử dụng Fragment).

+0

Vì vậy, anh ấy có thể sử dụng phương pháp của tôi không? –

+0

Vâng. Chắc chắn ... Tôi thêm một câu trả lời chỉ vì bạn không đưa vào tài khoản rằng ông đang làm việc với Fragments, vì vậy mọi thứ thay đổi một chút ở đó. Ngoài ra, anh ta dường như biết rằng có thư viện của bên thứ ba để làm điều đó ... vì vậy anh ấy có thể đã biết về một trong những thư viện mà bạn đề xuất. – Cristian

+0

Tôi thấy nơi bạn đang đi với điều này. Tôi đã thử nó nhưng Eclipse không thích thiết lập một bộ điều hợp danh sách thành một đoạn cũ đơn giản. Có một biện pháp khắc phục cho điều này? – George

3

Đây là một phần mà Johan đã tạo ra có thêm một kéo xuống để làm mới tính năng ..

Pull-To-Refresh

luận chính được thực hiện trong PullToRefreshListView mở rộng ListView.

n bố cục của bạn, bạn chỉ cần thêm nó như thế này.

<com.markupartist.android.widget.PullToRefreshListView 
android:id="@+id/android:list" 
android:layout_height="fill_parent" 
android:layout_width="fill_parent" 
/> 
+0

Tôi hiểu rằng mã của Johan hiện không hỗ trợ triển khai của listFragment. Xem [tại đây] (https://github.com/johannilsson/android-pulltorefresh/issues/30) – George

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