Android中如何利用RecyclerView实现数据列表展示效果

Android中如何利用RecyclerView实现数据列表展示效果

今天小编给大家分享一下Android中如何利用RecyclerView实现数据列表展示效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

1.首先导入依赖:

Android中如何利用RecyclerView实现数据列表展示效果

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实现数据列表展示效果”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注恰卡编程网行业资讯频道。

发布于 2022-04-11 21:17:26
收藏
分享
海报
0 条评论
20
上一篇:Android中如何利用item实现长按删除功能 下一篇:Android中的requestFocus怎么使用
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码