How to trigger swiperefreshlayout in android?

android, android-appcompat, android-studio, swiperefreshlayout

Solution

There is a better solution to achieve this by using the following:

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

Here mSwipeRefreshLayout is the `SwipeRefreshLayout`. If you simply call:

 mSwipeRefreshLayout.setRefreshing(true);

it wont trigger the circle to animate, so by adding the above line you just make a delay in the UI thread so that it shows the circle animation inside the UI thread.

By calling `mSwipeRefreshLayout.setRefreshing(true)` the OnRefreshListener will also get executed so after the task end just add `mSwipeRefreshLayout.setRefreshing(false)` to stop the circle animation.

Problem

I want to trigger my `SwipeRefreshLayout` in the event `onCreateView` of my `MainFragment`. What I want to do is start downloading the information in the event `onCreateView` and at the same time I show the SwipeRefreshLayout refreshing. Any ideas? Here is my code in my Java code in `MainFragment` ``` @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_main, container, false); SwipeRefreshLayout swpRfrshLyt= (SwipeRefreshLayout) rootView.findViewById(R.id.swpRfrshLyt); swpRfrshLyt.setColorSchemeResources(R.color.holo_blue_light, R.color.holo_green_light, R.color.holo_orange_light, R.color.holo_red_light); swpRfrshLyt.setOnRefreshListener(this); swpRfrshLyt.setRefreshing(true); return rootView; } ``` Here is my `fragment_main.xml` ``` <android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/swpRfrshLyt" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:id="@+id/lstvw_items" android:layout_width="match_parent" android:layout_height="match_parent"/> </android.support.v4.widget.SwipeRefreshLayout> ``` I am using Android Studio, here is my build gradle ``` dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:+' compile 'com.android.support:support-v4:+' compile 'com.mcxiaoke.volley:library:1.0.+' } ``` I have installed `Android SDK Build Tools 21.0.2`

Original source

Related problems