public class Fragment01 extends Fragment implements XListView.IXListViewListener { private View view; private ViewPager mVp; private XListView mXlv; private String json_url="http://api.expoon.com/AppNews/getNewsList/type/1/p"; int curnetpage=0; private List<Bean.DataBean> data; private List<String> img; private MyAdapter adapter; private ViewPagerAdapter adapter1; private int i; private Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { mVp.setCurrentItem(msg.what); } }; private String json_img="http://result.eolinker.com/iYXEPGn4e9c6dafce6e5cdd23287d2bb136ee7e9194d3e9?uri=banner"; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment01, container, false); initView(view); data = new ArrayList<>(); img = new ArrayList<>(); new AsyncTask<String, Integer, String>() { @Override protected String doInBackground(String... params) { String jsonimg = new NetWorkUtil().getImg(json_img); return jsonimg; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); UserBean userBean = gson.fromJson(s, UserBean.class); List<UserBean.BannerBean> banner = userBean.getBanner(); for (int i=0;i<banner.size();i++){ String image_url = banner.get(i).getImage_url(); img.add(image_url); } //创建适配器 adapter1 = new ViewPagerAdapter(img,getActivity()); mVp.setAdapter(adapter1); mVp.setCurrentItem(img.size()*10000); i = mVp.getCurrentItem(); new Thread(){ public void run(){ while (true){ try { sleep(2000); i++; handler.sendEmptyMessage(i); } catch (InterruptedException e) { e.printStackTrace(); } } } }.start(); } }.execute(); new AsyncTask<String, Integer, String>() { @Override protected String doInBackground(String... params) { String json = new NetWorkUtil().getJson(json_url+curnetpage); return json; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); Bean bean = gson.fromJson(s, Bean.class); data = bean.getData(); //创建适配器 adapter = new MyAdapter(data, getActivity()); mXlv.setAdapter(adapter); } }.execute(); return view; } private void initView(View view) { mVp = (ViewPager) view.findViewById(R.id.vp); mXlv = (XListView) view.findViewById(R.id.xlv); mXlv.setPullLoadEnable(true); mXlv.setPullRefreshEnable(true); mXlv.setXListViewListener(this); } public void onLoad(){ mXlv.stopRefresh(); mXlv.stopLoadMore(); mXlv.setRefreshTime("刚刚"); } @Override public void onRefresh() { new AsyncTask<String, Intent, String>() { @Override protected String doInBackground(String... params) { String json = new NetWorkUtil().getJson(json_url+curnetpage); return json; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); Bean bean = gson.fromJson(s, Bean.class); data = bean.getData(); //创建适配器 adapter = new MyAdapter(data, getActivity()); mXlv.setAdapter(adapter); onLoad(); } }.execute(); } @Override public void onLoadMore() { curnetpage++; new AsyncTask<String, Intent, String>() { @Override protected String doInBackground(String... params) { String json = new NetWorkUtil().getJson(json_url+curnetpage); return json; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); Bean bean = gson.fromJson(s, Bean.class); List<Bean.DataBean> data1 = bean.getData(); data.addAll(data1); adapter.notifyDataSetChanged(); } }.execute(); }}
<android.support.v4.view.ViewPager android:id="@+id/vp" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="3" ></android.support.v4.view.ViewPager> <com.bawei.wzq.wzlibrary.view.XListView android:id="@+id/xlv" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="7" />public class ViewPagerAdapter extends PagerAdapter{ private List<String> img; private Context context; public ViewPagerAdapter(List<String> img, Context context) { this.img = img; this.context = context; } @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 imageView = new ImageView(context); ImageLoader.getInstance().displayImage(img.get(position%img.size()),imageView); container.addView(imageView); return imageView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } }
网上请求图片
最新推荐文章于 2022-04-09 15:20:25 发布