文章目录
- AS导入第三方库方法
- 1.下载或克隆
- 2.在AS中创建Library模块
- 3.修改库文件
- 4.将Library模块main中的文件替换
- 5.编译找问题
- 6.将项目和库进行关联
- PullToRefresh的简单实用
AS导入第三方库方法
1.下载或克隆
PullToRefres下载地址
2.在AS中创建Library模块
3.修改库文件
4.将Library模块main中的文件替换
5.编译找问题
由于库比较旧,一些淘汰的引用库会出现错误,找出这些错误并解决。
6.将项目和库进行关联
点击ok,这时候第三方库的导入就成功了
PullToRefresh的简单实用
添加页面布局
activity
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
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 {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//1:通过依赖按钮 让当前项目,可以调用pull库
//2:布局当前的控件,有包名
//3:查找初始化
final PullToRefreshListView listView=findViewById(R.id.ptrv_show);
//当前是一个集合可以存放多个数据
final Handler handler=new Handler();
final ArrayList<String> list=new ArrayList<>();
list.add("Hello");
list.add("World");
list.add("Android");
list.add("Java");
list.add("Hadoop");
list.add("Spark");
//4:适配器对象有getCount方法表示行数,有getView方法表示行的视图
final ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,list);//参1 上下文 参2 行的视图 参3集合
//5:设置MODE
listView.setMode(PullToRefreshBase.Mode.BOTH);
//6:设置监听器,该对象对监控两种状态 ,一种是下拉刷新,一种是滚动加载
listView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
//监听,下拉动作
//指定时间更新界面
handler.postDelayed(new Runnable() {
@Override
public void run() {
//更新界面
list.add(0,"拉出来的数据");
//刷新列表
adapter.notifyDataSetChanged();
//关闭等待
listView.onRefreshComplete();
}
}, 3000); //1,任务代码 2,延迟时间
Toast.makeText(MainActivity.this, "下拉动作", Toast.LENGTH_SHORT).show();
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
//监听,滚动动作
Toast.makeText(MainActivity.this, "滚动动作", Toast.LENGTH_SHORT).show();
handler.postDelayed(new Runnable() {
@Override
public void run() {
list.add("滚出来的数据");
adapter.notifyDataSetChanged();
listView.onRefreshComplete();
}
}, 3000);//等3秒,加数据,刷新,关闭等待
}
});
//不是我们去调用,而是赋值给列表进行调用
listView.setAdapter(adapter);
}
}
结果: