ViewPager无限轮播+GridView图片展示
2017-09-16 09:28
507 查看
MainActivity
import android.os.AsyncTask; import android.os.Handler; import android.os.Message; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.GridView; import android.widget.ImageView; import android.widget.TextView; import com.google.gson.Gson; import com.nostra13.universalimageloader.core.ImageLoader; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.util.List; public class MainActivity extends AppCompatActivity { private List<Bean.DataBean.EssayBean> list; private String path = "http://v3.wufazhuce.com:8000/api/reading/index/?version=3.5.0&platform=android"; private GridView gv; private ViewPager vp; private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); if (msg.what == 0) { int currentItem = vp.getCurrentItem(); vp.setCurrentItem(currentItem + 1); handler.sendEmptyMessageDelayed(0, 2000); } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); gv = (GridView) findViewById(R.id.gv); vp = (ViewPager) findViewById(R.id.vp); new My().execute(); } class My extends AsyncTask { @Override protected Object doInBackground(Object[] objects) { String string = ""; try { URL url = new URL(path); HttpURLConnection con = (HttpURLConnection) url.openConnection(); int code = con.getResponseCode(); if (code == 200) { InputStream is = con.getInputStream(); byte[] b = new byte[1024]; int l = 0; while ((l = is.read(b)) != -1) { String str = new String(b, 0, l); string += str; } } } catch (Exception e) { e.printStackTrace(); } return string; } @Override protected void onPostExecute(Object o) { super.onPostExecute(o); Gson gson = new Gson(); list = gson.fromJson((String) o, Bean.class).getData().getEssay(); // Toast.makeText(MainActivity.this,essay.toString().trim(),Toast.LENGTH_SHORT).show(); MyAdapter myAdapter = new MyAdapter(); gv.setAdapter(myAdapter); ImgAdapter adapter = new ImgAdapter(); vp.setAdapter(adapter); vp.setCurrentItem(list.size() * 10000); handler.sendEmptyMessageDelayed(0, 2000); } } class ImgAdapter extends 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 imageView = new ImageView(MainActivity.this); ImageLoader.getInstance().displayImage(list.get(position % list.size()).getAuthor().get(0).getWeb_url(), imageView); container.addView(imageView); return imageView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } } class MyAdapter extends BaseAdapter { @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { Hand hand; if (view == null) { view = View.inflate(MainActivity.this, R.layout.item, null); hand = new Hand(); hand.img = view.findViewById(R.id.img); hand.te = view.findViewById(R.id.te); view.setTag(hand); } else { hand = (Hand) view.getTag(); } hand.te.setText(list.get(i).getAuthor().get(0).getUser_name()); String pic_s = list.get(i).getAuthor().get(0).getWeb_url(); ImageLoader instance = ImageLoader.getInstance(); instance.displayImage(pic_s, hand.img,ImageLoaderUtil.getDefaultOption()); return view; } } class Hand { ImageView img; TextView te; } }
相关文章推荐
- android中viewPager展示图片及无限轮播(一)
- ViewPager的图片无限轮播
- ViewPager网络请求图片并无限轮播
- ViewPager图片无限自动轮播
- ViewPager图片无限轮播加轮播指示器
- ViewPager无限轮播,下方展示小点
- ViewPager网络加载图片并无限轮播实现
- 自定义ViewPager 图片无限自动轮播
- 手机商城第四天,利用GridView和viewpager实现频道按钮和热门活动图片的展示
- ViewPager:真正实现图片的无限轮播、自定义指示点和条目点击事件(支持长按暂停滚动)
- ImageView实现图片的无限轮播 以及viewpager实现图片的无限轮播
- ViewPager图片自动+手动左右无限轮播
- viewpager自动无限轮播(网络请求的图片)
- ViewPager的基本使用(案例:图片的无限轮播)
- ViewPager无限轮播(网上加载图片)
- Android ViewPager从网络获取图片实现无限轮播
- 网络获取图片viewpager无限轮播
- ViewPager无限轮播支持加载网络图片
- Android 开发中的应用:ViewPager无限轮播(网络图片,小圆点)
- android无限轮播banner图片--viewpager