全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android RecyclerView实现数据列表展示效果

本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下

1.首先导入依赖: 

compile 'com.android.support:recyclerview-v7:25.3.1'

2.适配器类: 

public class NewsAdapter extends RecyclerView.Adapter {
 private View view;
 private Context mcontext;
 private ArrayList<NewsData.DataBean> mlist=new ArrayList<>();

 public NewsAdapter(Context mcontext) {
  this.mcontext = mcontext;
 }

 //找到需要导入的布局
 @Override
 public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
  view = LayoutInflater.from(mcontext).inflate(R.layout.news_item, null);
  return new ViewHolder(view);

 }
 //加载相应的内容
 @Override
 public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
  ViewHolder viewholder=(ViewHolder)holder;
  viewholder.textview.setText(""+getItem(position).getNews_title());
  Glide.with(mcontext).load(getItem(position).getPic_url()).into(viewholder.ima);
 }

 //手写的重置数据的方法
 public void setdata(ArrayList<NewsData.DataBean> list){
  if (list!=null&&list.size()>0){
   mlist.addAll(list);
  }

 }
 //手写的获得视图的方法
 public NewsData.DataBean getItem(int position){
  return mlist.get(position);

 };

 @Override
 public int getItemCount() {
  return mlist.size();
 }


 //定义的ViewHolder类继承RecyclerView.ViewHolder 并找到布局中的ID
 public class ViewHolder extends RecyclerView.ViewHolder{
  private TextView textview;
  private ImageView ima;
  public ViewHolder(View itemView) {
   super(itemView);
   textview=(TextView)itemView.findViewById(R.id.tv);
   ima=(ImageView)itemView.findViewById(R.id.image);
  }
 }
}

 3.主界面(用到RecyclerView的主要是initdata()方法和Handler): 

public class MainActivity extends AppCompatActivity implements IMainView{
 private MainPresenter mainp;
 private NewsAdapter md;
 private RecyclerView recy;
 private ArrayList<NewsData.DataBean> mlist=new ArrayList<>();
 private String url="http://api.expoon.com/AppNews/getNewsList/type/1/p/1";
 private Handler hand=new Handler(){
  @Override
  public void handleMessage(Message msg) {
   super.handleMessage(msg);
   Gson gson=new Gson();
   if (msg.what==1) {
    NewsData newsData = gson.fromJson(msg.obj.toString(), NewsData.class);
    mlist=(ArrayList<NewsData.DataBean>) newsData.getData();

    md.setdata((ArrayList<NewsData.DataBean>) mlist);
    md.notifyDataSetChanged();
   }
  }
 };
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  initview();
  initdata();
  initdatafromserver();
 }

 private void initview() {
  recy=(RecyclerView)findViewById(R.id.recy);
 }

 private void initdatafromserver() {
  //加载网络数据,找P层去要
  mainp.loadDataFromServer(url);

 }

 private void initdata() {
  mainp=new MainPresenter(this);
  //设置适配器
  md=new NewsAdapter(this);
  //创建默认的线性LayoutManager
  recy.setLayoutManager(new LinearLayoutManager(this));
  recy.setAdapter(md);
 }

 //重写的IMainView类接口的两个方法
 @Override
 public void successfulCallback(String str) {
  Message msg = Message.obtain();
  msg.what=1;
  msg.obj=str;
  hand.sendMessage(msg);
 }

 @Override
 public void errCallback(int code, String msg) {

 }
}

效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Android  # RecyclerView  # 数据  # Android中RecyclerView实现多级折叠列表效果(二)  # Android中RecyclerView实现多级折叠列表效果(TreeRecyclerView)  # RecyclerView实现常见的列表菜单  # Android单个RecyclerView实现列表嵌套的效果  # Android使用RecyclerView实现自定义列表、点击事件以及下拉刷新  # 使用RecyclerView实现水平列表  # Android列表RecyclerView排列布局  # RecyclerView优雅实现复杂列表布局  # 加载  # 重写  # 大家分享  # 具体内容  # 大家多多  # 主要是  # 九宫格  # layout  # inflate  # LayoutInflater  # news_item  # align  # return  # null  # ViewHolder  # onCreateViewHolder  # mlist  # Override  # int  # viewType 


相关文章: 学校建站服务器如何选型才能满足性能需求?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  广平建站公司哪家专业可靠?如何选择?  如何通过虚拟机搭建网站?详细步骤解析  视频网站制作教程,怎么样制作优酷网的小视频?  深圳企业网站制作设计,在深圳如何网上全流程注册公司?  免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  如何快速生成橙子建站落地页链接?  建站之星如何取消后台验证码生成?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  如何用狗爹虚拟主机快速搭建网站?  股票网站制作软件,网上股票怎么开户?  如何选择可靠的免备案建站服务器?  大学网站设计制作软件有哪些,如何将网站制作成自己app?  建站之星安全性能如何?防护体系能否抵御黑客入侵?  浅谈Javascript中的Label语句  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  如何用西部建站助手快速创建专业网站?  如何高效利用200m空间完成建站?  广州商城建站系统开发成本与周期如何控制?  一键制作网站软件下载安装,一键自动采集网页文档制作步骤?  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  网站制作说明怎么写,简述网页设计的流程并说明原因?  兔展官网 在线制作,怎样制作微信请帖?  宿州网站制作公司兴策,安徽省低保查询网站?  宝塔建站无法访问?如何排查配置与端口问题?  成都网站制作公司哪家好,四川省职工服务网是做什么用?  定制建站是什么?如何实现个性化需求?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何正确下载安装西数主机建站助手?  北京专业网站制作设计师招聘,北京白云观官方网站?  建站之星代理如何获取技术支持?  小说建站VPS选用指南:性能对比、配置优化与建站方案解析  北京网站制作网页,网站升级改版需要多久?  如何在云主机快速搭建网站站点?  如何在万网开始建站?分步指南解析  如何在云虚拟主机上快速搭建个人网站?  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  如何快速查询域名建站关键信息?  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  如何在万网自助建站平台快速创建网站?  高防服务器如何保障网站安全无虞?  如何用搬瓦工VPS快速搭建个人网站?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  宝塔新建站点报错如何解决? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。