Android中如何利用RecyclerView实现数据列表展示效果
Android中如何利用RecyclerView实现数据列表展示效果
今天小编给大家分享一下Android中如何利用RecyclerView实现数据列表展示效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
1.首先导入依赖:
compile'com.android.support:recyclerview-v7:25.3.1'
2.适配器类:
publicclassNewsAdapterextendsRecyclerView.Adapter{privateViewview;privateContextmcontext;privateArrayList<NewsData.DataBean>mlist=newArrayList<>();publicNewsAdapter(Contextmcontext){this.mcontext=mcontext;}//找到需要导入的布局@OverridepublicRecyclerView.ViewHolderonCreateViewHolder(ViewGroupparent,intviewType){view=LayoutInflater.from(mcontext).inflate(R.layout.news_item,null);returnnewViewHolder(view);}//加载相应的内容@OverridepublicvoidonBindViewHolder(RecyclerView.ViewHolderholder,intposition){ViewHolderviewholder=(ViewHolder)holder;viewholder.textview.setText(""+getItem(position).getNews_title());Glide.with(mcontext).load(getItem(position).getPic_url()).into(viewholder.ima);}//手写的重置数据的方法publicvoidsetdata(ArrayList<NewsData.DataBean>list){if(list!=null&&list.size()>0){mlist.addAll(list);}}//手写的获得视图的方法publicNewsData.DataBeangetItem(intposition){returnmlist.get(position);};@OverridepublicintgetItemCount(){returnmlist.size();}//定义的ViewHolder类继承RecyclerView.ViewHolder并找到布局中的IDpublicclassViewHolderextendsRecyclerView.ViewHolder{privateTextViewtextview;privateImageViewima;publicViewHolder(ViewitemView){super(itemView);textview=(TextView)itemView.findViewById(R.id.tv);ima=(ImageView)itemView.findViewById(R.id.image);}}}
3.主界面(用到RecyclerView的主要是initdata()方法和Handler):
publicclassMainActivityextendsAppCompatActivityimplementsIMainView{privateMainPresentermainp;privateNewsAdaptermd;privateRecyclerViewrecy;privateArrayList<NewsData.DataBean>mlist=newArrayList<>();privateStringurl="http://api.expoon.com/AppNews/getNewsList/type/1/p/1";privateHandlerhand=newHandler(){@OverridepublicvoidhandleMessage(Messagemsg){super.handleMessage(msg);Gsongson=newGson();if(msg.what==1){NewsDatanewsData=gson.fromJson(msg.obj.toString(),NewsData.class);mlist=(ArrayList<NewsData.DataBean>)newsData.getData();md.setdata((ArrayList<NewsData.DataBean>)mlist);md.notifyDataSetChanged();}}};@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initview();initdata();initdatafromserver();}privatevoidinitview(){recy=(RecyclerView)findViewById(R.id.recy);}privatevoidinitdatafromserver(){//加载网络数据,找P层去要mainp.loadDataFromServer(url);}privatevoidinitdata(){mainp=newMainPresenter(this);//设置适配器md=newNewsAdapter(this);//创建默认的线性LayoutManagerrecy.setLayoutManager(newLinearLayoutManager(this));recy.setAdapter(md);}//重写的IMainView类接口的两个方法@OverridepublicvoidsuccessfulCallback(Stringstr){Messagemsg=Message.obtain();msg.what=1;msg.obj=str;hand.sendMessage(msg);}@OverridepublicvoiderrCallback(intcode,Stringmsg){}}
以上就是“Android中如何利用RecyclerView实现数据列表展示效果”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注恰卡编程网行业资讯频道。
推荐阅读
-
怎么使用Android基准配置文件Baseline Profile方案提升启动速度
-
HTML5如何实现禁止android视频另存为
-
学java好还是学php好?
-
Android如何实现多点触控功能
-
android怎么实现多点触摸应用
-
Android怎么实现手势划定区域裁剪图片
-
android怎么实现简单的矩形裁剪框
-
Android单选多选按钮怎么使用
-
Android中如何利用oncreate获取控件高度或宽度
Android中如何利用oncreate获取控件高度或宽度本篇内容...
-
Android中怎么使用onSaveInstanceState()方法
Android中怎么使用onSaveInstanceState()方法...