package com.example.li.com.wuxirui.fragment;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
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 com.example.li.com.wuxirui.HttpUtil.Httputil;
import com.example.li.com.wuxirui.R;
import com.example.li.com.wuxirui.adapter.ImageAdapter;
import com.example.li.com.wuxirui.bean.ImagaBean;
import com.google.gson.Gson;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.List;
/**
* A simple {@link Fragment} subclass.
*/
public class aFragment extends Fragment {
private ViewPager mViewPager;
private ImageAdapter imageAdapter;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View inflate = View.inflate(getActivity(), R.layout.fragment_a, null);
mViewPager = inflate.findViewById(R.id.viewpagers);
new Thread(
new Runnable() {
@Override
public void run() {
initdate();
}
}
).start();
imageAdapter = new ImageAdapter(getActivity());
mViewPager.setAdapter(imageAdapter);
//
//mViewPager.setCurrentItem(1000);
handler.sendEmptyMessageDelayed(1, 3000);
return inflate;
}
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
//更新adapter数据
switch (msg.what){
case 0:
imageAdapter.stdate((List<ImagaBean.DataBean>) msg.obj);
mViewPager.setCurrentItem(5000);
break;
case 1:
int i = mViewPager.getCurrentItem();
mViewPager.setCurrentItem(i+1);
handler.sendEmptyMessageDelayed(1,3000);
break;
}
//主动拜访
}
};
private void initdate() {
String geturl = Httputil.geturl("http://www.xieast.com/api/banner.php");
ImagaBean imagaBean = new Gson().fromJson(geturl, ImagaBean.class);
handler.sendMessage(handler.obtainMessage(0,imagaBean));
}
}
adapter
package com.example.li.com.wuxirui.adapter;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.example.li.com.wuxirui.ImageSet;
import com.example.li.com.wuxirui.bean.ImagaBean;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.util.ArrayList;
import java.util.List;
public class ImageAdapter extends PagerAdapter {
private final Context context;
private List<ImagaBean.DataBean> list;
public ImageAdapter (Context context){
this.context = context;
list = new ArrayList<>();
}
public void stdate(List<ImagaBean.DataBean> list){
this.list.clear();
this.list.addAll(list);
notifyDataSetChanged();
}
@Override
public int getCount() {
if (list.size() == 0){
return 0;
}else {
return Integer.MAX_VALUE;
}
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object o) {
return view == o;
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
///
ImageView imageView = new ImageView(context);
ImageLoader.getInstance().displayImage(list.get(position%list.size()).getImg(),imageView,ImageSet.displayImageOptions());
container.addView(imageView);
return imageView;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView((View) object);
}
}