package com.bwei.fragment;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.provider.ContactsContract;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.ListView;
import com.bwei.adapter.LunBoAdapter;
import com.bwei.adapter.MyAdapter;
import com.bwei.bean.DataInfo;
import com.bwei.bean.ImageBean;
import com.bwei.day20_rk.R;
import com.bwei.net.UtilsNet;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import java.util.ArrayList;
import java.util.List;
/**
* Created by 杨柳 on 2018/7/27.
*/
public class fragment1_1 extends Fragment{
private PullToRefreshListView pull_layout;
private UtilsNet utilsNet;
private int page = 1;
private String listapi = "http://www.xieast.com/api/news/news.php?page=";
private String bannerapi = "http://www.xieast.com/api/banner.php";
private List<DataInfo.DataBean> t_list = new ArrayList<>();
private MyAdapter myAdapter;
private ViewPager view_lunbo;
private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what){
case 0:
Gson gson = new Gson();
ImageBean imageBean = gson.fromJson((String) msg.obj, ImageBean.class);
//创建轮播适配器
LunBoAdapter lunBoAdapter = new LunBoAdapter(imageBean.getData(), getActivity());
view_lunbo.setAdapter(lunBoAdapter);
handler.sendEmptyMessageDelayed(1,2000);
break;
case 1:
view_lunbo.setCurrentItem(view_lunbo.getCurrentItem()+1);
handler.sendEmptyMessageDelayed(1,2000);
break;
}
}
};
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View inflate = inflater.inflate(R.layout.fragment1_1, container, false);
pull_layout = inflate.findViewById(R.id.pull_layout);
return inflate;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
//1.实现上拉刷新下拉加载(创建工具类)
utilsNet = UtilsNet.getInstance();
pull_layout.setMode(PullToRefreshBase.Mode.BOTH);
//7.轮播
ListView refreshableView = pull_layout.getRefreshableView();
AbsListView.LayoutParams layoutParams = new AbsListView.LayoutParams(AbsListView.LayoutParams.MATCH_PARENT, 600);
View inflate = View.inflate(getActivity(), R.layout.lunbo_layout, null);
view_lunbo = inflate.findViewById(R.id.view_lunbo);
inflate.setLayoutParams(layoutParams);
refreshableView.addHeaderView(inflate);
//2.设置监听方法
pull_layout.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
//3.定义page,接口
page = 1;
utilsNet.getUrl(listapi+page);
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
page++;
utilsNet.getUrl(listapi+page);
}
});
//6.创建适配器
myAdapter = new MyAdapter(t_list, getActivity());
pull_layout.setAdapter(myAdapter);
//4.调用工具类的方法
utilsNet.setNetCallBack(new UtilsNet.NetCallBack() {
@Override
public void onSeccess(String s) {
//5.解析
Gson gson = new Gson();
DataInfo dataInfo = gson.fromJson(s, DataInfo.class);
if (page == 1){
//定义list
t_list.clear();
}
t_list.addAll(dataInfo.getData());
myAdapter.notifyDataSetChanged();
pull_layout.onRefreshComplete();
}
@Override
public void onError(String e) {
}
});
//3.1:创建方法
utilsNet.getUrl(listapi+page);
//8.轮播
utilsNet.loadInage(bannerapi, new UtilsNet.NetCallBack() {
@Override
public void onSeccess(String s) {
Message message = Message.obtain();
message.what = 0 ;
message.obj = s;
handler.sendMessage(message);
}
@Override
public void onError(String e) {
}
});
}
}