package com.baway.fragment;
import android.os.Handler;
import android.os.Message;
import android.support.v4.view.ViewPager;
import android.text.format.DateUtils;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.ScrollView;
import android.widget.TextView;
import com.baway.Api.ApiConfig;
import com.baway.activity.R;
import com.baway.adapter.GoodsAdpater;
import com.baway.adapter.MyPagerAdapter;
import com.baway.base.BaseFragment;
import com.baway.pojo.GoodsBean;
import com.baway.pojo.LunboBean;
import com.baway.utils.HttpUtil;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshScrollView;
import java.util.ArrayList;
import java.util.List;
public class Fragment3 extends BaseFragment {
private ListView listView;
private PullToRefreshScrollView scrollView;
private ViewPager viewPager;
private Gson gson;
private final int CODE_LUNBOTU=0;
private final int CODE_START=1;
private final int CODE_LIST=2;
private MyPagerAdapter lunBoAdapter;
private LinearLayout point_layout;
private List<ImageView> PointList = new ArrayList<>();
private TextView lun_page;
private TextView lun_title;
private List<GoodsBean.DataBean> goodsList = new ArrayList<>();
private GoodsAdpater adapter;
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what){
case CODE_LUNBOTU:
String data = (String) msg.obj;
Log.i("ssss",data);
gson = new Gson();
LunboBean lunboBean = gson.fromJson(data,LunboBean.class);
CreatePoint(lunboBean.getData().size(),PointList);
lunBoAdapter = new MyPagerAdapter(getActivity(),lunboBean.getData(),PointList,handler,lun_page,lun_title);
viewPager.setAdapter(lunBoAdapter);
handler.sendEmptyMessageDelayed(CODE_START,3000);
break;
case CODE_START:
int currentItemtem = viewPager.getCurrentItem();
currentItemtem++;
viewPager.setCurrentItem(currentItemtem);
handler.sendEmptyMessageDelayed(CODE_START,3000);
break;
case CODE_LIST:
String goodsdData = (String) msg.obj;
Log.i("ssss",goodsdData);
gson = new Gson();
GoodsBean goodsBean = gson.fromJson(goodsdData,GoodsBean.class);
goodsList.addAll(goodsBean.getData());
adapter.notifyDataSetChanged();
break;
}
}
};
private void CreatePoint(int size, List<ImageView> pointList) {
for (int i = 0; i <size ; i++) {
ImageView img_point =new ImageView(getActivity());
img_point.setScaleType(ImageView.ScaleType.FIT_XY);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(40,40);
params.setMargins(10,5,10,5);
pointList.add(img_point);
if (i==0){
img_point.setImageResource(R.drawable.shpae_point_red);
}else {
img_point.setImageResource(R.drawable.shape_point_gray);
}
point_layout.addView(img_point,params);
}
}
@Override
protected void findView(View view) {
listView = view.findViewById(R.id.f3_listView);
scrollView = view.findViewById(R.id.f3_scrollView);
viewPager = view.findViewById(R.id.F3_viewPager);
point_layout = view.findViewById(R.id.point_layout);
lun_page = view.findViewById(R.id.f3_page);
lun_title = view.findViewById(R.id.f3_title);
}
@Override
protected void setListener() {
scrollView.setMode(PullToRefreshBase.Mode.BOTH);
scrollView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ScrollView> refreshView) {
showRefreshContent();
loadData(ApiConfig.lunBoApi,CODE_LUNBOTU);
loadData(ApiConfig.GoodsApi,CODE_LIST);
scrollView.onRefreshComplete();
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ScrollView> refreshView) {
loadData(ApiConfig.lunBoApi,CODE_LUNBOTU);
loadData(ApiConfig.GoodsApi,CODE_LIST);
scrollView.onRefreshComplete();
}
});
}
//加载代理显示的数据
private void showRefreshContent() {
String label = DateUtils.formatDateTime(
getActivity(),
System.currentTimeMillis(),
DateUtils.FORMAT_SHOW_TIME
| DateUtils.FORMAT_SHOW_YEAR
| DateUtils.FORMAT_SHOW_DATE
| DateUtils.FORMAT_ABBREV_ALL);
scrollView.getLoadingLayoutProxy()
.setLastUpdatedLabel(label);
}
@Override
protected void initData() {
adapter = new GoodsAdpater(getActivity(),goodsList);
listView.setAdapter(adapter);
loadData(ApiConfig.lunBoApi,CODE_LUNBOTU);
loadData(ApiConfig.GoodsApi,CODE_LIST);
}
private void loadData(String api, final int messageCode) {
try{
HttpUtil httpUtil = HttpUtil.getInstance();
httpUtil.getUrl(api, new HttpUtil.HttpCallback() {
@Override
public void success(String success) {
Message msg = Message.obtain();
msg.what = messageCode;
msg.obj= success;
handler.sendMessage(msg);
}
});
}catch (Exception e){
e.printStackTrace();
}
}
@Override
protected int initLayout() {
return R.layout.fragment3_layout;
}
}
import android.os.Handler;
import android.os.Message;
import android.support.v4.view.ViewPager;
import android.text.format.DateUtils;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.ScrollView;
import android.widget.TextView;
import com.baway.Api.ApiConfig;
import com.baway.activity.R;
import com.baway.adapter.GoodsAdpater;
import com.baway.adapter.MyPagerAdapter;
import com.baway.base.BaseFragment;
import com.baway.pojo.GoodsBean;
import com.baway.pojo.LunboBean;
import com.baway.utils.HttpUtil;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshScrollView;
import java.util.ArrayList;
import java.util.List;
public class Fragment3 extends BaseFragment {
private ListView listView;
private PullToRefreshScrollView scrollView;
private ViewPager viewPager;
private Gson gson;
private final int CODE_LUNBOTU=0;
private final int CODE_START=1;
private final int CODE_LIST=2;
private MyPagerAdapter lunBoAdapter;
private LinearLayout point_layout;
private List<ImageView> PointList = new ArrayList<>();
private TextView lun_page;
private TextView lun_title;
private List<GoodsBean.DataBean> goodsList = new ArrayList<>();
private GoodsAdpater adapter;
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what){
case CODE_LUNBOTU:
String data = (String) msg.obj;
Log.i("ssss",data);
gson = new Gson();
LunboBean lunboBean = gson.fromJson(data,LunboBean.class);
CreatePoint(lunboBean.getData().size(),PointList);
lunBoAdapter = new MyPagerAdapter(getActivity(),lunboBean.getData(),PointList,handler,lun_page,lun_title);
viewPager.setAdapter(lunBoAdapter);
handler.sendEmptyMessageDelayed(CODE_START,3000);
break;
case CODE_START:
int currentItemtem = viewPager.getCurrentItem();
currentItemtem++;
viewPager.setCurrentItem(currentItemtem);
handler.sendEmptyMessageDelayed(CODE_START,3000);
break;
case CODE_LIST:
String goodsdData = (String) msg.obj;
Log.i("ssss",goodsdData);
gson = new Gson();
GoodsBean goodsBean = gson.fromJson(goodsdData,GoodsBean.class);
goodsList.addAll(goodsBean.getData());
adapter.notifyDataSetChanged();
break;
}
}
};
private void CreatePoint(int size, List<ImageView> pointList) {
for (int i = 0; i <size ; i++) {
ImageView img_point =new ImageView(getActivity());
img_point.setScaleType(ImageView.ScaleType.FIT_XY);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(40,40);
params.setMargins(10,5,10,5);
pointList.add(img_point);
if (i==0){
img_point.setImageResource(R.drawable.shpae_point_red);
}else {
img_point.setImageResource(R.drawable.shape_point_gray);
}
point_layout.addView(img_point,params);
}
}
@Override
protected void findView(View view) {
listView = view.findViewById(R.id.f3_listView);
scrollView = view.findViewById(R.id.f3_scrollView);
viewPager = view.findViewById(R.id.F3_viewPager);
point_layout = view.findViewById(R.id.point_layout);
lun_page = view.findViewById(R.id.f3_page);
lun_title = view.findViewById(R.id.f3_title);
}
@Override
protected void setListener() {
scrollView.setMode(PullToRefreshBase.Mode.BOTH);
scrollView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ScrollView> refreshView) {
showRefreshContent();
loadData(ApiConfig.lunBoApi,CODE_LUNBOTU);
loadData(ApiConfig.GoodsApi,CODE_LIST);
scrollView.onRefreshComplete();
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ScrollView> refreshView) {
loadData(ApiConfig.lunBoApi,CODE_LUNBOTU);
loadData(ApiConfig.GoodsApi,CODE_LIST);
scrollView.onRefreshComplete();
}
});
}
//加载代理显示的数据
private void showRefreshContent() {
String label = DateUtils.formatDateTime(
getActivity(),
System.currentTimeMillis(),
DateUtils.FORMAT_SHOW_TIME
| DateUtils.FORMAT_SHOW_YEAR
| DateUtils.FORMAT_SHOW_DATE
| DateUtils.FORMAT_ABBREV_ALL);
scrollView.getLoadingLayoutProxy()
.setLastUpdatedLabel(label);
}
@Override
protected void initData() {
adapter = new GoodsAdpater(getActivity(),goodsList);
listView.setAdapter(adapter);
loadData(ApiConfig.lunBoApi,CODE_LUNBOTU);
loadData(ApiConfig.GoodsApi,CODE_LIST);
}
private void loadData(String api, final int messageCode) {
try{
HttpUtil httpUtil = HttpUtil.getInstance();
httpUtil.getUrl(api, new HttpUtil.HttpCallback() {
@Override
public void success(String success) {
Message msg = Message.obtain();
msg.what = messageCode;
msg.obj= success;
handler.sendMessage(msg);
}
});
}catch (Exception e){
e.printStackTrace();
}
}
@Override
protected int initLayout() {
return R.layout.fragment3_layout;
}
}