0

我正在使用SwipeRefreshLayout刷新內容。android.support.v4.widget.SwipeRefreshLayout工作但它不可見

問題在於它正在工作,但在向下滑動時不可見。

以下是我在XML文件中有SwipeRefreshLayout

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:context="com.abc.xyz.MainActivity"> 

    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:popupTheme="@style/AppTheme.PopupOverlay"/> 

    </android.support.design.widget.AppBarLayout> 

    <android.support.v4.widget.SwipeRefreshLayout 
     android:id="@+id/swipetorefresh" 
     android:layout_height="match_parent" 
     android:layout_width="match_parent" 
     xmlns:android="http://schemas.android.com/apk/res/android"> 

    <include layout="@layout/content_main"/> 

    </android.support.v4.widget.SwipeRefreshLayout> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/fab" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom|end" 
     android:layout_margin="@dimen/fab_margin" 
     android:src="@drawable/ic_add_white_24dp"/> 

</android.support.design.widget.CoordinatorLayout> 

這裏是content_main.xml文件的代碼:

<?xml version="1.0" encoding="utf-8"?> 

<RelativeLayout 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    tools:context="com.abc.xyz.MainActivity" 
    tools:showIn="@layout/app_bar_main"> 

    <TextView 
     android:id="@+id/main_txt1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="xxx" 
     android:textSize="17sp"/> 

    <TextView 
     android:id="@+id/main_txt2" 
     android:layout_below="@+id/main_txt1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="5dp" 
     android:text="xxx" 
     android:textStyle="bold" 
     android:textSize="17sp"/> 

    <TextView 
     android:id="@+id/main_txt3" 
     android:layout_below="@+id/main_txt2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="xxx" 
     android:textSize="16sp"/> 

    <TextView 
     android:id="@+id/main_txt4" 
     android:layout_below="@+id/main_txt3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="5dp" 
     android:text="xxx" 
     android:textStyle="bold" 
     android:textSize="17sp"/> 

    <TextView 
     android:id="@+id/main_txt_swipetorefresh" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="xxx" 
     android:layout_centerInParent="true" 
     android:gravity="center_horizontal|center_vertical"/> 

    <TextView 
     android:id="@+id/main_txt5" 
     android:layout_below="@+id/main_txt4" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="xxx" 
     android:textSize="16sp"/> 

    <TextView 
     android:id="@+id/main_txt6" 
     android:layout_below="@+id/main_txt5" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="5dp" 
     android:text="xxx" 
     android:textStyle="bold" 
     android:textSize="17sp"/> 

    <TextView 
     android:id="@+id/main_txt7" 
     android:layout_below="@+id/main_txt6" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="xxx" 
     android:textSize="16sp"/> 

</RelativeLayout> 

下面是它是如何在Java文件:

swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipetorefresh); 
     swipeRefreshLayout.setColorSchemeColors(Color.parseColor("#00BCD4"), Color.parseColor("#FF9800"), Color.parseColor("#339a60")); 
     swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { 
      @Override 
      public void onRefresh() { 

       swipeRefreshLayout.setRefreshing(true); 

      } 
     }); 

請讓我知道這裏發生了什麼問題?

對不起,如果問題似乎格式不正確。我還是個初學者。

+0

它是如何工作的? ScrollRefreshLayout內部沒有可滾動的內容。 RecyclerView,NestedScrollView ...再加上SwipeRefreshLayout應該有'app:layout_behavior =「@ string/appbar_scrolling_view_behavior」'就可以了。 –

+0

@EugenPechanec你這個人正在談論'SwipeRefreshLayout'不是ScrollRefreshLayout –

+0

@HammadNasir沒有ScrollRefreshLayout,這是一個錯字,謝謝指出。 –

回答

-2

正如skywall所示,我在NestedScrollView中包裝了content_main.xml,它工作正常!

這裏的編輯content_main.xml

<?xml version="1.0" encoding="utf-8"?> 

<android.support.v4.widget.NestedScrollView 
    android:layout_height="match_parent" 
    android:layout_width="match_parent" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 

<RelativeLayout 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    tools:context="com.abc.xyz.MainActivity" 
    tools:showIn="@layout/app_bar_main"> 

    <TextView 
     android:id="@+id/main_txt1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="xxx" 
     android:textSize="17sp"/> 

    <TextView 
     android:id="@+id/main_txt2" 
     android:layout_below="@+id/main_txt1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="5dp" 
     android:text="xxx" 
     android:textStyle="bold" 
     android:textSize="17sp"/> 

    <TextView 
     android:id="@+id/main_txt3" 
     android:layout_below="@+id/main_txt2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="xxx" 
     android:textSize="16sp"/> 

    <TextView 
     android:id="@+id/main_txt4" 
     android:layout_below="@+id/main_txt3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="5dp" 
     android:text="xxx" 
     android:textStyle="bold" 
     android:textSize="17sp"/> 

    <TextView 
     android:id="@+id/main_txt_swipetorefresh" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="xxx" 
     android:layout_centerInParent="true" 
     android:gravity="center_horizontal|center_vertical"/> 

    <TextView 
     android:id="@+id/main_txt5" 
     android:layout_below="@+id/main_txt4" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="xxx" 
     android:textSize="16sp"/> 

    <TextView 
     android:id="@+id/main_txt6" 
     android:layout_below="@+id/main_txt5" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="5dp" 
     android:text="xxx" 
     android:textStyle="bold" 
     android:textSize="17sp"/> 

    <TextView 
     android:id="@+id/main_txt7" 
     android:layout_below="@+id/main_txt6" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="xxx" 
     android:textSize="16sp"/> 

</RelativeLayout> 
    </android.support.v4.widget.NestedScrollView> 

謝謝,skywall!

0

SwipeRefreshLayout應該有這個標誌app:layout_behavior="@string/appbar_scrolling_view_behavior"而不是內部佈局,也協調佈局只能嵌套佈局工作的,以更好地與NestedScrollViewRecyclerView去,或者如果你的目標API> 21,然後setNestedScroll(true)//i'm not really sure about the name

相關問題