XListView+ViewPager
来源:互联网 发布:warframe防火墙端口 编辑:程序博客网 时间:2024/06/11 23:55
public class MainActivity extends AppCompatActivity {//=============Viewpager=========== ViewPager vp; TextView tv; RadioGroup rg;//===========list============ Been been; List<Been.StoriesBean> list; Mylistadapter lvadapter;//=============vp+list =========== XListView xlv; List<ViewPager> vplist; View view; int n=2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImageLoaderConfiguration configuration=ImageLoaderConfiguration.createDefault(this); ImageLoader.getInstance().init(configuration); DisplayImageOptions options=DisplayImageOptions.createSimple(); //===========viewpager的控件========== vp=(ViewPager) findViewById(R.id.vp); tv=(TextView) findViewById(R.id.tv); rg=(RadioGroup) findViewById(R.id.rg); //===============listview的控件 xlv= (XListView) findViewById(R.id.xlv); list=new ArrayList<Been.StoriesBean>(); intoData(1); //对xlistview设置一下 xlv.setPullLoadEnable(true);//这个是允许下拉加载 xlv.setPullRefreshEnable(true);//允许下拉刷新 //xlv的监听 xlv.setXListViewListener(new XListView.IXListViewListener() { @Override //刷新 public void onRefresh() { //再次调用方法 intoData(1); //刷新 lvadapter.notifyDataSetChanged(); //停止刷新图片的使用 xlv.stopRefresh(); } //加载 @Override public void onLoadMore() { //n的依次相加 n++; //依次相加n intoData(n); //停止加载图片的使用 xlv.stopLoadMore(); } }); lvadapter=new Mylistadapter(); xlv.setAdapter(lvadapter); vp.setAdapter(new Myadapter(getSupportFragmentManager())); //vp的监听事件 vp.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { switch (position) { case 0: rg.check(R.id.b1); tv.setText("头条新闻1"); break; case 1: rg.check(R.id.b2); tv.setText("头条新闻2"); break; case 2: rg.check(R.id.b3); tv.setText("头条新闻3"); break; case 3: rg.check(R.id.b4); tv.setText("头条新闻4"); break; } } @Override public void onPageSelected(int position) { } @Override public void onPageScrollStateChanged(int state) { } }); //==============vp+list=========== xlv=(XListView) findViewById(R.id.xlv); }//创建vp的适配器 class Myadapter extends FragmentPagerAdapter{ public Myadapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { Fragment fm=null; switch (position) { case 0: fm=new Fragment1(); break; case 1: fm=new Fragment2(); break; case 2: fm=new Fragment3(); break; case 3: fm=new Fragment4(); break; } return fm; } @Override public int getCount() { return 4; } }//===============lv的操作================ class Mylistadapter extends BaseAdapter{ @Override public int getCount() { if(list!=null) { return list.size(); } return 0; } @Override public Object getItem(int i) { return null; } @Override public long getItemId(int i) { return 0; } @Override public View getView(final int i, View view, ViewGroup viewGroup) { ViewHolder holder; if(view==null) { holder=new ViewHolder(); view=View.inflate(MainActivity.this,R.layout.lv_item,null); holder.iv=(ImageView) view.findViewById(R.id.iv123); holder.title=(TextView) view.findViewById(R.id.title111); holder.ga_prefix=(TextView) view.findViewById(R.id.ga_prefix); view.setTag(holder); }else { holder=(ViewHolder) view.getTag(); } holder.title.setText(list.get(i).getTitle()); holder.ga_prefix.setText(list.get(i).getGa_prefix()); ImageLoader.getInstance().displayImage(list.get(i).getImages().get(0),holder.iv); return view; }} class ViewHolder{ ImageView iv; TextView title; TextView ga_prefix; } //方法 private void intoData(final int n){ new AsyncTask<String,String,String>(){ @Override protected String doInBackground(String... strings) { String str=getUrl(); return str; } @Override protected void onPostExecute(String s) { Gson gson=new Gson(); been=gson.fromJson(s,Been.class); //判断n的数值 if(n!=1){ //拼接集合 list.addAll(been.getStories()); }else{ //第一次的集合实例化 list=been.getStories(); } lvadapter.notifyDataSetChanged(); super.onPostExecute(s); } }.execute(); }//创建解析网址的方法 private String getUrl(){ String strUlr=""; try { URL url=new URL("https://news-at.zhihu.com/api/4/news/latest"); HttpURLConnection connection=(HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); int code=connection.getResponseCode(); if(code==200) { InputStream inputStream=connection.getInputStream(); ByteArrayOutputStream bos=new ByteArrayOutputStream(); int len=-1; byte[] b=new byte[1024]; while ((len=inputStream.read(b))!=-1){ bos.write(b,0,len); } strUlr=new String(bos.toByteArray()); } } catch (Exception e) { e.printStackTrace(); } return strUlr; }
阅读全文
0 0
- XListView+ViewPager
- Viewpager+XListView+Internet
- ViewPager,XListView主Activity
- XListView+ViewPager+SQLite
- XListView+ PullToRefreshListView+ViewPager
- Viewpager+Fragment+Xlistview
- viewpager 与 Xlistview
- VIewPager+XListView+RadioButton实现布局
- ViewPager无限轮播加XListview加载
- XListView+ViewPager+上拉下拉
- fragment+Xlistview+viewpager无限轮播+imageloader
- ViewPager给图片加点事件和XListView
- json进行缓存+ViewPager+onRefresh+XlistView
- xlistview+Headview(viewpager自动带点轮播)+缓存
- XListView加头布局ViewPager轮播
- Horizontal+异步+pullTorefresh+viewPager+侧滑(XListView)
- Horizontal+异步+pullTorefresh+viewPager+侧滑(XListView)
- XListView
- ZOJ
- FZU 2229 Calculus Midterm
- Luogu 1169 棋盘制作:计数问题
- JS笔记
- 全局解释器锁(GIL)Cpython
- XListView+ViewPager
- UVa-11987 Almost union-find(带删除操作的并查集)
- 照片墙
- Elastic-Job 基础篇:基本信息及环境搭建
- 取反的最短路问题(Dijkstra)
- B-number[数位DP]
- 【华为机试】字符串加密
- 有向图强连通分量的Tarjan算法
- csu1976搬运工小明(二分)