本文实例为大家分享了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小时内与您取得联系。