首先需要导包,布局文件的也需要自己写下来
这是布局文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
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"
tools:context="alice.bw.com.day19pulltorefreshlistview.MainActivity">
<com.handmark.pulltorefresh.library.PullToRefreshListView
android:id="@+id/lv"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</RelativeLayout>
这里就是主函数的方法
package alice.bw.com.day19pulltorefreshlistview;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.AbsListView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
private PullToRefreshListView lv;
private ArrayList<String> list;
private ArrayAdapter<String> mAdapter;
private boolean isScll;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
lv = (PullToRefreshListView) findViewById(R.id.lv);
list = new ArrayList<>();
mAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,list);
lv.setAdapter(mAdapter);
getData();
lv.setMode(PullToRefreshBase.Mode.BOTH);//带上啦加载更多和下拉刷新的效果
//下拉刷新
lv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
Toast.makeText(MainActivity.this, "Down", Toast.LENGTH_SHORT).show();
list.clear();
getData();
lv.onRefreshComplete();//下拉收起
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
Toast.makeText(MainActivity.this, "up", Toast.LENGTH_SHORT).show();
}
});
//上啦加载更多
lv.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView absListView, int i) {
if(isScll && i==0){
getData();
}
}
@Override
public void onScroll(AbsListView absListView, int i, int i1, int i2) {
if(i+i1 == i2){
isScll = true;
}else {
isScll = false;
}
}
});
}
private void getData(){
for (int i = 0; i <20 ; i++) {
list.add("今天是个大晴天---"+i);
}
mAdapter.notifyDataSetChanged();
}
}