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实现数据列表展示效果”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注恰卡编程网行业资讯频道。
推荐阅读
-
我的世界windows版怎么下载手机版
-
android(如何快速开发框架 小米note开发版MIUI,安卓6.0,怎么安装Xposed框架)
稳定版,你必须先根除。你上网搜索安卓可以叫别人s框架,对方可以把框架做成jar包,把这个jar包加载到项目目录的libs文件中使...
-
android(studio 虚拟机启动不了 android studio可以当模拟器用吗)
androidstudio可以当模拟器用吗?AmdCUP引导模拟器有点复杂。雷电模拟器上的抖音怎么登录不上?不是,闪电模拟调用...
-
从实践中学习手机抓包与数据分析(android 手机抓包app)
android手机抓包app?netcapture抓包精灵app(手机抓包工具)又名sslcapture,是什么专业的安卓手机抓...
-
android(studio全局搜索 android studio怎么看app界面)
androidstudio怎么看app界面?在设备桌面点击运用直接进入到App界面,就也可以参与其他你的操作了。android-...
-
怎么把android框架源代码拉到本地(android studio如何运行别人的源代码)
androidstudio如何运行别人的源代码?androidstudio点击刚建在列表中你选择导入module,导入即可在用...
-
android(studio2022年使用教程 怎么安装Android studio详细教程)
怎么安装Androidstudio详细教程?androidstudio中haxm直接安装的方法追加:1、简单的方法打开Andr...
-
怎么使用Android基准配置文件Baseline Profile方案提升启动速度
怎么使用Android基准配置文件Baseline Profile方案提升启动速度...
-
HTML5如何实现禁止android视频另存为
HTML5如何实现禁止android视频另存为今天小编给大家分享一...
-
学java好还是学php好?