public class MainActivity extends Activity implements XListView.IXListViewListener{ XListView xlv; LinearLayout ll; ViewPager vp; List<Bean.DataBean> data; List<Bean.DataBean> zong; MyAdapte myadpt; DisplayImageOptions dpio; View vie; List<ImageView> dianarr; ImageView image; Handler hd; viewpagerAdapte viewpagerAdaptee; String path = "http://api.expoon.com/AppNews/getNewsList/type/1/p/1"; Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { int curre = vp.getCurrentItem(); curre++; vp.setCurrentItem(curre); handler.sendEmptyMessageDelayed(0,2000); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); zong = new ArrayList<Bean.DataBean>(); xlv = (XListView) findViewById(R.id.xlistview); vie = View.inflate(MainActivity.this,R.layout.viewpager_item,null); ll = vie.findViewById(R.id.linerlayout); vp = vie.findViewById(R.id.viewpager); xlv.setPullLoadEnable(true); xlv.setXListViewListener(MainActivity.this); hd = new Handler(); xlv.addHeaderView(vie); vp.setCurrentItem(100000); handler.sendEmptyMessageDelayed(0,2000); vp.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { for(int n=0;n<dianarr.size();n++){ if(n==position%data.size()){ dianarr.get(position%data.size()).setImageResource(R.drawable.dot_focuable); }else{ dianarr.get(n).setImageResource(R.drawable.dot_normal); } } } @Override public void onPageScrollStateChanged(int state) { } }); dpio = new DisplayImageOptions.Builder() .cacheOnDisk(true) .cacheInMemory(true) .build(); Init(); } private void Init() { new MyAsynvTask().execute(path); } class MyAsynvTask extends AsyncTask<String,Void,String>{ @Override protected void onPreExecute() { super.onPreExecute(); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); Bean bean = gson.fromJson(s, Bean.class); data = bean.getData(); zong.addAll(data); myadpt = new MyAdapte(zong, MainActivity.this); xlv.setAdapter(myadpt); viewpagerAdaptee = new viewpagerAdapte(zong, MainActivity.this); vp.setAdapter(viewpagerAdaptee); Chushidian(); //初始化点 } @Override protected void onProgressUpdate(Void... values) { super.onProgressUpdate(values); } @Override protected String doInBackground(String... strings) { String string = new UrlInput().getString(strings[0]); return string; } } public void Chushidian(){ dianarr = new ArrayList<ImageView>(); if(dianarr!=null){ dianarr.clear(); } ll.removeAllViews(); for(int i=0;i<zong.size();i++){ image = new ImageView(MainActivity.this); if(i==0){ image.setImageResource(R.drawable.dot_focuable); }else{ image.setImageResource(R.drawable.dot_normal); } LinearLayout.LayoutParams lilay = new LinearLayout.LayoutParams(20,20); lilay.setMargins(10,0,10,0); dianarr.add(image); ll.addView(image,lilay); } } public void onLoad(){ xlv.stopRefresh(); xlv.stopLoadMore(); xlv.setRefreshTime("刚刚"); } @Override public void onRefresh() { hd.postDelayed(new Runnable() { @Override public void run() { zong.clear(); new MyAsynvTask().execute(path); onLoad(); } },2000); } @Override public void onLoadMore() { hd.postDelayed(new Runnable() { @Override public void run() { new MyAsynvTa().execute(path); onLoad(); } },2000); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode==KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==0){ this.finish(); } return false; } class MyAsynvTa extends AsyncTask<String,Void,String>{ @Override protected void onPreExecute() { super.onPreExecute(); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); Bean bean = gson.fromJson(s, Bean.class); List<Bean.DataBean> dd = bean.getData(); zong.addAll(dd); myadpt.notifyDataSetChanged(); viewpagerAdaptee.notifyDataSetChanged(); Chushidian(); //初始化点 } @Override protected void onProgressUpdate(Void... values) { super.onProgressUpdate(values); } @Override protected String doInBackground(String... strings) { String string = new UrlInput().getString(strings[0]); return string; } } }
XListView加头布局ViewPager轮播
最新推荐文章于 2019-01-17 10:26:16 发布