我用Google搜索了很多,但没有找到适合我的任何答案。
我想实现拉动刷新。我已经浏览了所有下面的链接,但是他们已经为Activity中的简单ListView或ScrollView提供了示例。
https://github.com/johannilsson/android-pulltorefresh
https://github.com/chrisbanes/ActionBar-PullToRefresh
http://guides.thecodepath.com/android/Implementing-Pull-to-Refresh
这里我有一个包含 4 Fragments 的活动,我想实现pull to refresh。我怎么能这样做。
以下是我的活动XML代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/homePageBackground"
android:orientation="vertical" >
<fragment
android:id="@+id/announcementHomefragment"
android:name="in.test.app.AnnouncementFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/homePageBackground" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="15dp"
android:background="@color/homePageBackground" >
<TextView
android:id="@+id/newsTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="15dp"
android:layout_marginTop="5dp"
android:gravity="center"
android:text="@string/new_list"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/white"
android:textStyle="bold" />
<fragment
android:id="@+id/newshomefragment"
android:name="in.test.app.NewsFragment"
android:layout_width="wrap_content"
android:layout_height="265dp"
android:layout_below="@id/newsTitle"
android:layout_marginTop="-15dp" />
<TextView
android:id="@+id/productTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/newshomefragment"
android:layout_gravity="center"
android:layout_marginLeft="15dp"
android:layout_marginTop="5dp"
android:gravity="center"
android:text="@string/product_in_home"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/white"
android:textStyle="bold" />
<fragment
android:id="@+id/proCategoryhomefragment"
android:name="in.test.app.CategoryFragment"
android:layout_width="wrap_content"
android:layout_height="250dp"
android:layout_below="@id/productTitle"
android:layout_marginTop="-15dp" />
<TextView
android:id="@+id/trainingTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/proCategoryhomefragment"
android:layout_gravity="center"
android:layout_marginLeft="15dp"
android:layout_marginTop="2dp"
android:gravity="center"
android:text="@string/trainings_in_home"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/white"
android:textStyle="bold" />
<fragment
android:id="@+id/trainingfragment"
android:name="in.test.app.TrainingFragment"
android:layout_width="wrap_content"
android:layout_height="250dp"
android:layout_below="@id/trainingTitle"
android:layout_marginBottom="10dp"
android:layout_marginTop="-15dp" />
</RelativeLayout>
</ScrollView>
编辑:
现在我正在使用 SwipeRefreshLayout 。它工作正常。但是当我向下滚动我的滚动视图并试图上升它没有上升时,它不再工作它是令人耳目一新的。请建议我如何完成这件事。
答案 0 :(得分:1)
只需创建一个扩展 SwipeRefreshLayout
和覆盖方法canChildScrollUp()
的类。如果要向下滚动ListView
,则返回true。
例如,
@override.
boolean canChildScrollUp()
{
return Listview.getFirstVisibleItemPostion()!=0;
}