public class TwoFragment extends Fragment { private static final String TAG = "TwoFragment"; private View view; private PullToRefreshScrollView pull; private ViewPager viewPager; private LinearLayout linear; private MyList myList; private static String ad="https://www.zhaoapi.cn/ad/getAd"; private static String url="https://www.apiopen.top/novelApi"; private List<ImageView> imgs=new ArrayList<>(); private List<ImageView> ps=new ArrayList<>(); List<GoodsBean.DataBean> list=new ArrayList<>(); private MyHandler myHandler=new MyHandler(); private int page=1; private MyGoodsAdapter myGoodsAdapter; @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { view = inflater.inflate(R.layout.twofragment,null); initViews(); myGoodsAdapter = new MyGoodsAdapter(getContext(), list); myList.setAdapter(myGoodsAdapter); return view; } private void initViews() { pull = view.findViewById(R.id.pull_to_refresh_listview); viewPager = view.findViewById(R.id.two_viewpage); linear = view.findViewById(R.id.linearlayout); myList = view.findViewById(R.id.mylist); pull.setMode(PullToRefreshBase.Mode.BOTH); pull.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ScrollView> refreshView) { page=1; getGoods(); } @Override public void onPullUpToRefresh(PullToRefreshBase<ScrollView> refreshView) { page++; getGoods(); } }); } @Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if (isVisibleToUser){ getDatas(); if (linear!=null && linear.getChildCount()>0){ linear.removeAllViews(); imgs.clear(); ps.clear(); myHandler.removeCallbacksAndMessages(null); } } } private void getDatas() { HttpUtils instance = HttpUtils.getInstance(); instance.get(ad); instance.setHttpUtilsListener(new HttpUtils.HttpUtilsListener() { private MyAdAdapter myAdAdapter; @Override public void getSuccess(String json) { Log.d(TAG, "getSuccess: "+json); Gson gson = new Gson(); AdBean adBean = gson.fromJson(json, AdBean.class); List<AdBean.DataBean> data = adBean.getData(); for (int i = 0; i < data.size(); i++) { String icon = data.get(i).getIcon(); ImageView imageView=new ImageView(getContext()); imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); ImageLoader.getInstance().displayImage(icon,imageView,MyApp.getOptions()); imgs.add(imageView); ImageView p=new ImageView(getContext()); p.setImageResource(R.drawable.selector); p.setPadding(20,0,20,0); ps.add(p); linear.addView(p); } ps.get(0).setSelected(true); myAdAdapter = new MyAdAdapter(imgs); viewPager.setAdapter(myAdAdapter); myHandler.sendEmptyMessageDelayed(0,2000); getGoods(); } @Override public void getError(String error) { Log.d(TAG, "getError: "+error); } }); } class MyHandler extends Handler{ @Override public void handleMessage(Message msg) { viewPager.setCurrentItem(viewPager.getCurrentItem()+1); for (int i = 0; i < ps.size(); i++) { if (i==viewPager.getCurrentItem()%ps.size()){ ps.get(i).setSelected(true); }else { ps.get(i).setSelected(false); } } myHandler.sendEmptyMessageDelayed(0,2000); } } private void getGoods() { HttpUtils instance = HttpUtils.getInstance(); instance.get(url); instance.setHttpUtilsListener(new HttpUtils.HttpUtilsListener() { @Override public void getSuccess(String json) { Log.d(TAG, "getSuccess: "+json); Gson gson = new Gson(); GoodsBean goodsBean = gson.fromJson(json, GoodsBean.class); List<GoodsBean.DataBean> data = goodsBean.getData(); if (page==1){ list.clear(); } list.addAll(data); myGoodsAdapter.notifyDataSetChanged(); pull.onRefreshComplete(); } @Override public void getError(String error) { Log.d(TAG, "getError: "+error); } }); } }
(Fragfment)ListView+无限轮播
最新推荐文章于 2019-01-08 19:38:24 发布