package com.example.com.moni3lx; import android.graphics.Bitmap; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.ListView; import android.widget.ScrollView; import com.google.gson.Gson; import com.handmark.pulltorefresh.library.PullToRefreshBase; import com.handmark.pulltorefresh.library.PullToRefreshScrollView; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.assist.ImageScaleType; import java.util.ArrayList; import java.util.List; /** * Created by linmeihui on 2018/1/13. */ public class Fragment01 extends Fragment{ private PullToRefreshScrollView psv; private ViewPager vp; private DisplayImageOptions options; private int item; private Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { vp.setCurrentItem(item); item ++; handler.sendEmptyMessageDelayed(0,1000); } }; private ListView lv; private String path = "http://120.27.23.105/product/searchProducts?keywords=%E7%AC%94%E8%AE%B0%E6%9C%AC&source=android&page=1"; private int pageIndex; private int opType; private List<ResultData.DataBean> list = new ArrayList<>(); @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View v=inflater.inflate(R.layout.fragment01,container,false); psv = v.findViewById(R.id.psv); vp = v.findViewById(R.id.vp); lv = v.findViewById(R.id.lv); final List<String> picUrl=new ArrayList<>(); picUrl.add("https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=1587152606,957874993&fm=27&gp=0.jpg"); picUrl.add("https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=662228504,3911440066&fm=27&gp=0.jpg"); picUrl.add("https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=1242345275,2416287796&fm=27&gp=0.jpg"); options = new DisplayImageOptions.Builder() .cacheInMemory(true)//使用内存缓存 .cacheOnDisk(true)//使用磁盘缓存 .showImageOnLoading(R.mipmap.ic_launcher)//设置正在下载的图片 .showImageForEmptyUri(R.mipmap.ic_launcher)//url为空或请求的资源不存在时 .showImageOnFail(R.mipmap.ic_launcher)//下载失败时显示的图片 .bitmapConfig(Bitmap.Config.RGB_565)//设置图片色彩模式 1px=2字节 .imageScaleType(ImageScaleType.EXACTLY)//设置图片的缩放模式 .build(); vp.setCurrentItem(picUrl.size()*1000); item = vp.getCurrentItem(); RequestData(); vp.setAdapter(new PagerAdapter() { @Override public int getCount() { return Integer.MAX_VALUE; } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } @Override public Object instantiateItem(ViewGroup container, int position) { ImageView img=new ImageView(getActivity()); container.addView(img); ImageLoader.getInstance().displayImage(picUrl.get(position%picUrl.size()),img,options); return img; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } }); handler.sendEmptyMessageDelayed(0,1000); initPsv(); return v; } public void RequestData(){ MyTask myTask = new MyTask(new MyTask.ICallBack() { @Override public void Json(String str) { Gson gson = new Gson(); ResultData resultData = gson.fromJson(str, ResultData.class); if(opType == 1){ list.clear(); } list.addAll(resultData.getData()); MyAdapter myAdapter = new MyAdapter(list, getActivity()); lv.setAdapter(myAdapter); psv.onRefreshComplete(); } }); myTask.execute(path); } private void initPsv() { psv.setMode(PullToRefreshBase.Mode.BOTH); psv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ScrollView> pullToRefreshBase) { pageIndex = 1; opType = 1; path = "http://120.27.23.105/product/searchProducts?keywords=%E7%AC%94%E8%AE%B0%E6%9C%AC&source=android&page="+pageIndex; RequestData(); } @Override public void onPullUpToRefresh(PullToRefreshBase<ScrollView> pullToRefreshBase) { pageIndex ++; opType = 2; path = "http://120.27.23.105/product/searchProducts?keywords=%E7%AC%94%E8%AE%B0%E6%9C%AC&source=android&page="+pageIndex; RequestData(); } }); } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); } }
Fragment01---无线轮播+获取listview数据+上下拉刷新
最新推荐文章于 2021-05-31 13:20:58 发布