public class MainActivity extends AppCompatActivity { List<User.NewslistBean> list = new ArrayList<>(); @butterknife.BindView(R.id.vp) ViewPager vp; private Madapter adapter; private ImageView iv; private List<ImageView> ivList; private GridView gv; private MM mm; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); butterknife.ButterKnife.bind(this); gv=(GridView)findViewById(R.id.gv); initData(); adapter = new Madapter(); mm = new MM(); } Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); if(msg.what==1){ int position = vp.getCurrentItem(); //让当前的的viewpager加1 position++; //给viewPager设置当前的索引 vp.setCurrentItem(position); handler.sendEmptyMessageDelayed(1, 2000); } } }; private void initData() { new MAsyncTask().execute("https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=6&page=1"); } class MAsyncTask extends AsyncTask<String,Void,String>{ @Override protected String doInBackground(String... strings) { return new NewWorkUtil().getJson(strings[0]); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); User user = gson.fromJson(s, User.class); list = user.getNewslist(); gv.setAdapter(mm); vp.setAdapter(adapter); vp.setCurrentItem(100000); handler.sendEmptyMessageDelayed(1, 2000); } } class Madapter extends PagerAdapter{ @Override public int getCount() { return Integer.MAX_VALUE; } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } @Override public Object instantiateItem(ViewGroup container, int position) { ImageView iv = new ImageView(MainActivity.this); //对图片进行缩放 iv.setScaleType(ImageView.ScaleType.FIT_XY); //9 9%4 1 10%4 2 ImageLoader.getInstance().displayImage(list.get(position%list.size()).getPicUrl(),iv); container.addView(iv); return iv; } } class MM 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) { ViewHolder vh; if(view==null){ vh=new ViewHolder(); view=View.inflate(MainActivity.this,R.layout.gv,null); vh.img=(ImageView)view.findViewById(R.id.img); vh.tv=(TextView)view.findViewById(R.id.tv); view.setTag(vh); }else{ vh= (ViewHolder) view.getTag(); } ImageLoader.getInstance().displayImage(list.get(i).getPicUrl(),vh.img); vh.tv.setText(list.get(i).getTitle()); return view; } } class ViewHolder{ ImageView img; TextView tv; }
无限轮播异步加载
最新推荐文章于 2022-08-15 10:13:26 发布