实现方式:
方法一:
①在onWindowFocusChanged()方法中,设置为刷新状态为true
@Overridepublic void onWindowFocusChanged(boolean hasFocus) {super.onWindowFocusChanged(hasFocus);mSwipeRefreshLayout.setRefreshing(true);}②在获取数据完成后设置刷新状态为false
if (mSwipeRefreshLayout.isRefreshing()) {mSwipeRefreshLayout.setRefreshing(false);}方法二:
//手动调用,通知系统去测量mSwipeRefreshLayout.measure(0,0);mSwipeRefreshLayout.setRefreshing(true);②在获取数据完成后设置刷新状态为false
if (mSwipeRefreshLayout.isRefreshing()) {mSwipeRefreshLayout.setRefreshing(false);}说明:
package org.raphets.swiperefreshlayoutdemo;import android.graphics.Color;import android.support.v4.widget.SwipeRefreshLayout;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.widget.TextView;public class MainActivity extends AppCompatActivity {private SwipeRefreshLayout mSwipeRefreshLayout;private TextView mTextView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.srl);mTextView = (TextView) findViewById(R.id.tv);//设置刷新球颜色mSwipeRefreshLayout.setColorSchemeColors(Color.BLUE, Color.RED, Color.YELLOW);mSwipeRefreshLayout.setProgressBackgroundColorSchemeColor(Color.parseColor("#BBFFFF"));//手动调用,通知系统去测量//mSwipeRefreshLayout.measure(0,0);mSwipeRefreshLayout.setRefreshing(true);getData();}/** * 模拟网络请求 */private void getData() {new Thread() {@Overridepublic void run() {super.run();//模拟网络请求try {Thread.sleep(3000);} catch (InterruptedException e) {e.printStackTrace();}//在UI线程中更新UIrunOnUiThread(new Runnable() {@Overridepublic void run() {mTextView.setText("首次进入自动刷新");if (mSwipeRefreshLayout.isRefreshing()) {mSwipeRefreshLayout.setRefreshing(false);}}});}}.start();}@Overridepublic void onWindowFocusChanged(boolean hasFocus) {super.onWindowFocusChanged(hasFocus);mSwipeRefreshLayout.setRefreshing(true);}}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。