setRefreshing(true)不显示指标

时间:2014-10-21 10:51:39

标签: android

我正在使用SwipeRefreshLayout,当Listview有一些孩子时,一切都很好。问题是:当listView没有chiled时,它在setRefreshing(true)调用后没有显示加载指示符。如何解决?

2 个答案:

答案 0 :(得分:9)

它实际上确实显示了ActionBar后面的指标!

我修复它的方式如下:

    Display display = getActivity().getWindowManager().getDefaultDisplay();
    Point size = new Point();
    display.getSize(size);
    int height = size.y;
    getSwipeRefreshLayout().setProgressViewOffset(false, -200, height / 9);

修改

以上不再是正确的答案。正确的答案如下:

getSwipeRefreshLayout().post(new Runnable() {
    @Override public void run() {
        getSwipeRefreshLayout().setRefreshing(true);
    }
});

答案 1 :(得分:1)

  

如何解决?

我遇到了同样的问题。我的修复是为ListView提供一个空视图,包含ScrollViewSwipeRefreshLayout。有些谎言:

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

       <ScrollView
          android:layout_width="match_parent"
          android:layout_height="wrap_content" >
          <View                    
             android:layout_width="match_parent"
             android:layout_height="wrap_content" />
       </ScrollView>
   </android.support.v4.widget.SwipeRefreshLayout>