Android RecyclerView实现数据列表展示效果
发布时间 - 2026-01-11 02:17:43 点击率:次本文实例为大家分享了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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
大型企业网站制作流程,做网站需要注册公司吗?
Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】
原生JS实现图片轮播切换效果
🚀拖拽式CMS建站能否实现高效与个性化并存?
如何用西部建站助手快速创建专业网站?
Bootstrap整体框架之JavaScript插件架构
Android仿QQ列表左滑删除操作
Laravel PHP版本要求一览_Laravel各版本环境要求对照
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
Python高阶函数应用_函数作为参数说明【指导】
MySQL查询结果复制到新表的方法(更新、插入)
如何在万网自助建站中设置域名及备案?
如何在VPS电脑上快速搭建网站?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
手机网站制作与建设方案,手机网站如何建设?
Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
三星网站视频制作教程下载,三星w23网页如何全屏?
详解Android中Activity的四大启动模式实验简述
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
Laravel用户密码怎么加密_Laravel Hash门面使用教程
如何用IIS7快速搭建并优化网站站点?
Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道
如何在IIS7中新建站点?详细步骤解析
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
如何挑选最适合建站的高性能VPS主机?
Windows10如何更改计算机工作组_Win10系统属性修改Workgroup
JavaScript中的标签模板是什么_它如何扩展字符串功能
软银砸40亿美元收购DigitalBridge 强化AI资料中心布局
Java垃圾回收器的方法和原理总结
微信小程序 wx.uploadFile无法上传解决办法
Laravel怎么判断请求类型_Laravel Request isMethod用法
如何快速生成高效建站系统源代码?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】
网站制作大概多少钱一个,做一个平台网站大概多少钱?
Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
Laravel怎么导出Excel文件_Laravel Excel插件使用教程
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】
Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】
如何快速搭建FTP站点实现文件共享?
韩国服务器如何优化跨境访问实现高效连接?
电商网站制作价格怎么算,网上拍卖流程以及规则?
如何用景安虚拟主机手机版绑定域名建站?
Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
Laravel安装步骤详细教程_Laravel环境搭建指南

