效果图:
布局:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/srfl"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/lv"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</android.support.v4.widget.SwipeRefreshLayout>
MainActivity:
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.widget.SwipeRefreshLayout;
import android.view.Window;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends Activity {
private ListView lv;
private SwipeRefreshLayout swipeRefreshLayout;
private List<String> alist;
private int count=0;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
lv = (ListView) findViewById(R.id.lv);
alist=new ArrayList<String>();
swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.srfl);
for (int i = 0; i < 8; i++)
{
alist.add("ListItem--" + i);
}
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, alist);
lv.setAdapter(adapter);
//设置咱们那个刷新圆圈的颜色,里面最多写三个颜色,写在多也显示不了了
swipeRefreshLayout.setColorSchemeColors(Color.BLUE,Color.RED,Color.GREEN);
//咱们下拉刷新的时候会触发
swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener()
{
@Override
public void onRefresh()
{
//2秒后执行run方法里的代码,模拟刷新真正状态
//2秒后显示刷新的数据
new Handler().postDelayed(new Runnable()
{
@Override
public void run()
{
count++;
//添加数据至头部 position为0
alist.add(0, "新Item--"+count);
//通知adapter同步刷新,意思就是咱们添加一个数据到顶部,那么就通知adapter进行更新
adapter.notifyDataSetChanged();
//设置刷新的圆圈隐藏,如果不设置这个的话就会圆圈就会一直显示
swipeRefreshLayout.setRefreshing(false);
}
}, 2000);
}
});
}
}
end,不会的小伙伴赶快敲起来吧