public class MainActivity extends AppCompatActivity {
private Banner myBanner;
private PullToRefreshScrollView psv;
private ListView listView;
private String urlPart="https://api.tianapi.com/wxnew/?key=48a7d7193e11bd2dd4a683b6e2f90a4f&num=10&page=";
private int pageIndex=1;
private String url=urlPart+pageIndex;
private MyAdapter adapter;
private List<Result1.NewslistBean> datas=new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myBanner = findViewById(R.id.mybanner);
listView = findViewById(R.id.lv);
psv = findViewById(R.id.psv);
//初使化psv
initPsv();
//请求网络数据,展示轮播图
MyNetTask task=new MyNetTask(new MyNetTask.IcallBack() {
@Override
public void getJsonData(String jsonStr) {
Gson gson=new Gson();
Result result = gson.fromJson(jsonStr, Result.class);
//图片的url地址
List<String> urls=new ArrayList<String>();
List<Result.DataScrollBean> dataScroll = result.getDataScroll();
for(int i=0;i<dataScroll.size();i++){
urls.add("http://www.93.gov.cn"+dataScroll.get(i).getIMAGEURL());
}
setBanner(urls);
}
});
task.execute("http://www.93.gov.cn/93app/data.do?channelId=0&startNum=0");
MyNetTask task1=new MyNetTask(new MyNetTask.IcallBack() {
@Override
public void getJsonData(String jsonStr) {
Gson gson=new Gson();
Result1 result1 = gson.fromJson(jsonStr, Result1.class);
datas.addAll(result1.getNewslist());
setAdapter();
}
});
task1.execute(url);
}
private void initPsv() {
//1.设置模式
psv.setMode(PullToRefreshBase.Mode.BOTH);
//2.设置头尾布局的文字
ILoadingLayout headerLayout = psv.getLoadingLayoutProxy(true, false);
headerLayout.setPullLabel("下拉刷新");
headerLayout.setReleaseLabel("放开刷新");
headerLayout.setRefreshingLabel("正在刷新。。。。");
ILoadingLayout footerLayout = psv.getLoadingLayoutProxy(false, true);
footerLayout.setPullLabel("上拉加载");
footerLayout.setReleaseLabel("放开加载");
footerLayout.setRefreshingLabel("正在加载。。。。");
//3.设置回调接口
psv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ScrollView> pullToRefreshBase) {
pageIndex=1;
url=urlPart+pageIndex;
MyNetTask task1=new MyNetTask(new MyNetTask.IcallBack() {
@Override
public void getJsonData(String jsonStr) {
Gson gson=new Gson();
Result1 result1 = gson.fromJson(jsonStr, Result1.class);
//清空
datas.clear();
//添加新数据到集合中
datas.addAll(result1.getNewslist());
setAdapter();
//关闭头尾布局
psv.onRefreshComplete();
}
});
task1.execute(url);
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ScrollView> pullToRefreshBase) {
//加载更多
pageIndex++;
url=urlPart+pageIndex;
MyNetTask task1=new MyNetTask(new MyNetTask.IcallBack() {
@Override
public void getJsonData(String jsonStr) {
Gson gson=new Gson();
Result1 result1 = gson.fromJson(jsonStr, Result1.class);
//添加新数据到集合中
datas.addAll(result1.getNewslist());
setAdapter();
//关闭头尾布局
psv.onRefreshComplete();
}
});
task1.execute(url);
}
});
}
public void setAdapter(){
if(adapter==null){
adapter=new MyAdapter(this,datas);
listView.setAdapter(adapter);
}else {
adapter.notifyDataSetChanged();
}
}
private void setBanner(List<String> urls) {
//1.设置一个图片加载器
myBanner.setImageLoader(new MyBannerLoader());
//2.设置图片集合List<String> lists
myBanner.setImages(urls);
//3.启动
myBanner.start();
}
private Banner myBanner;
private PullToRefreshScrollView psv;
private ListView listView;
private String urlPart="https://api.tianapi.com/wxnew/?key=48a7d7193e11bd2dd4a683b6e2f90a4f&num=10&page=";
private int pageIndex=1;
private String url=urlPart+pageIndex;
private MyAdapter adapter;
private List<Result1.NewslistBean> datas=new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myBanner = findViewById(R.id.mybanner);
listView = findViewById(R.id.lv);
psv = findViewById(R.id.psv);
//初使化psv
initPsv();
//请求网络数据,展示轮播图
MyNetTask task=new MyNetTask(new MyNetTask.IcallBack() {
@Override
public void getJsonData(String jsonStr) {
Gson gson=new Gson();
Result result = gson.fromJson(jsonStr, Result.class);
//图片的url地址
List<String> urls=new ArrayList<String>();
List<Result.DataScrollBean> dataScroll = result.getDataScroll();
for(int i=0;i<dataScroll.size();i++){
urls.add("http://www.93.gov.cn"+dataScroll.get(i).getIMAGEURL());
}
setBanner(urls);
}
});
task.execute("http://www.93.gov.cn/93app/data.do?channelId=0&startNum=0");
MyNetTask task1=new MyNetTask(new MyNetTask.IcallBack() {
@Override
public void getJsonData(String jsonStr) {
Gson gson=new Gson();
Result1 result1 = gson.fromJson(jsonStr, Result1.class);
datas.addAll(result1.getNewslist());
setAdapter();
}
});
task1.execute(url);
}
private void initPsv() {
//1.设置模式
psv.setMode(PullToRefreshBase.Mode.BOTH);
//2.设置头尾布局的文字
ILoadingLayout headerLayout = psv.getLoadingLayoutProxy(true, false);
headerLayout.setPullLabel("下拉刷新");
headerLayout.setReleaseLabel("放开刷新");
headerLayout.setRefreshingLabel("正在刷新。。。。");
ILoadingLayout footerLayout = psv.getLoadingLayoutProxy(false, true);
footerLayout.setPullLabel("上拉加载");
footerLayout.setReleaseLabel("放开加载");
footerLayout.setRefreshingLabel("正在加载。。。。");
//3.设置回调接口
psv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ScrollView> pullToRefreshBase) {
pageIndex=1;
url=urlPart+pageIndex;
MyNetTask task1=new MyNetTask(new MyNetTask.IcallBack() {
@Override
public void getJsonData(String jsonStr) {
Gson gson=new Gson();
Result1 result1 = gson.fromJson(jsonStr, Result1.class);
//清空
datas.clear();
//添加新数据到集合中
datas.addAll(result1.getNewslist());
setAdapter();
//关闭头尾布局
psv.onRefreshComplete();
}
});
task1.execute(url);
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ScrollView> pullToRefreshBase) {
//加载更多
pageIndex++;
url=urlPart+pageIndex;
MyNetTask task1=new MyNetTask(new MyNetTask.IcallBack() {
@Override
public void getJsonData(String jsonStr) {
Gson gson=new Gson();
Result1 result1 = gson.fromJson(jsonStr, Result1.class);
//添加新数据到集合中
datas.addAll(result1.getNewslist());
setAdapter();
//关闭头尾布局
psv.onRefreshComplete();
}
});
task1.execute(url);
}
});
}
public void setAdapter(){
if(adapter==null){
adapter=new MyAdapter(this,datas);
listView.setAdapter(adapter);
}else {
adapter.notifyDataSetChanged();
}
}
private void setBanner(List<String> urls) {
//1.设置一个图片加载器
myBanner.setImageLoader(new MyBannerLoader());
//2.设置图片集合List<String> lists
myBanner.setImages(urls);
//3.启动
myBanner.start();
}
}
public class MyBannerLoader extends ImageLoader { @Override public void displayImage(Context context, Object path, ImageView imageView) { com.nostra13.universalimageloader.core.ImageLoader.getInstance().displayImage(path.toString(),imageView, ImageLoaderutils.getImageOption(context)); } }