本文是博主对Adapter(适配器)的一些理解,为了加深对Adapter的理解以及记录自己的阶段学习而写,同时也适合初学者阅读,参考本条博客的逻辑进行学习。

第一  先来看看实现这个程序需要需要创建哪些文件,具体的逻辑会在下文体现。 

MainActivity.java:主活动,聊天界面显示在这个活动。

Msg.java:自定义信息类,用于存放信息的类型(收or发)以及信息的内容。

MsgAdapter.java:适配RecyclerView实例的一个类。其作用是将子项(这里指每一个msg_item.layout)与RecyclerView的一个布局适配,这个是重点。

activity_main.xml:主活动布局。这里顺便分享一点博主对学习AS的一点小经验:编写UI(User interface)的时候先从大局考虑。例如这个界面思路:先考虑总体的布局(activity_main),我们需要一个滚动控件用来装我们的每一个子项,还需要一个可输入的TextView以及有响应事件的发送按钮。接下来我们再来考虑我们的子项布局,两个TextView控件,通过判断msg类里信息的类型来决定显示and隐藏哪个TextView对象。

msg_item.xml:每一个item的布局,上面提到过了,就不赘述了。

PS:下面会有每个文件的代码贴出(附分析)。

第二   由于待会我们会用到Recycl

Android适配器以及作用,Android Studio:自定义Adapter(适配器)的一些通俗易懂的理解(以一个简单的聊天界面为例)...相关推荐

  1. Android(安卓)一个简单的聊天界面的实现(eclipse实现)

    这几天刚刚学习一下安卓的编程,尝试制作了一个简单的聊天界面(还没有实现网络等后续功能)软件界面如图.(使用eclipse实现) 当输入一些内容后,聊天界面可以下拉显示更多的聊天信息,如下图 首先对这个 ...

  2. Android 极光IM简单的聊天界面全手动实现

    Android 极光IM简单的聊天界面全手动实现 说到实时通讯,很多人都想到融云,极光,环信,网易啊等等一系列, 因为需求原因,我们最近的项目呢是用的极光. 由于极光的界面Demo十分繁琐,很多功能我 ...

  3. Android Jetpack Compose——一个简单的微信界面

    一个简单的微信界面 简述 效果视频 底部导航栏 导航元素 导航栏 放入插槽 绘制地图 消息列表 效果图 实现 聊天 效果图 实现 气泡背景 联系人界面 效果图 实现 好友详情 效果图 实现 发现 效果 ...

  4. Android适配器以及作用,Android RecyclerView 通用适配器的实现

    分析 我们需要在RecyclerViewAdapter内部维持一个数据集合的引用 需要实现Item的点击事件,包括短按和长按,并需要向外部提供设置监听器的方法 这个适配器必须通用,所以应该是泛型的,并 ...

  5. android minheight的作用,Android 自定义 View 最少必要知识

    1. 什么是自定义 View? 1.1 定义 在 Android 系统中,界面中所有能看到的元素都是 View.默认情况下,Android 系统为开发者提供了很多 View,比如用于展示文本信息的 T ...

  6. android 混淆规则作用,Android混淆规则

    简介 Java代码是非常容易反编译的.为了很好的保护Java源代码,我们往往会对编译好的class文件进行混淆处理. ProGuard是一个混淆代码的开源项目.它的主要作用就是混淆,当然它还能对字节码 ...

  7. android布局的作用,Android UI布局经验总结

    如何在Android中动态设置颜色透明?10%20%到100% Android布局分析工具HierarchyView Android使用include/merge/ViewStub优化布局 List的 ...

  8. android 焦点的作用,Android中的视图焦点Focus的详细介绍

    在非触摸屏设备中接收事件和处理响应的控件是具有焦点(Focused)的控件.一个窗口中一个时间内只能有一个具有焦点的控件.在早期具有滚轮设备的android系统中以及现在的智能TV电视应用中视图的焦点 ...

  9. android 环形时间显示_Android_Android实现自定义圆形进度条,今天无意中发现一个圆形进度 - phpStudy...

    Android实现自定义圆形进度条 今天无意中发现一个圆形进度,想想自己实现一个,如下图: 基本思路是这样的: 1.首先绘制一个实心圆 2.绘制一个白色实心的正方形,遮住实心圆 3.在圆的中心动态绘制 ...

最新文章

  1. Matlab数据的可视化 -- 饼图
  2. 刚刚,2021年诺贝尔生理学或医学奖揭晓!
  3. Sublime Text 3 全套快捷键及功能介绍
  4. gj2 python中一切皆对象
  5. java ML回归预测_ML之回归预测:利用九大类机器学习算法对无人驾驶汽车系统参数(2018年的data,18+2)进行回归预测值VS真实值...
  6. windows下有趣的小玩意
  7. mysql ubuntu client_ubuntu 安装 mysqlclient
  8. 期刊计算机仿真地址在哪,计算机仿真杂志社地址
  9. ubuntu + pycharm + anaconda + pyqt4 + tools 配置
  10. 【转】子弹短信内部技术分享:Redis
  11. 新年新起点-荣获2011年度Silverlight方向Microsoft® MVP奖
  12. php与mysql彻底研究_CSS彻底研究(2)
  13. Eclipse 项目导入 Android Studio 导致的乱码问题解决
  14. 市场、运营、销售什么区别?
  15. 安装set 安装ptf框架
  16. css图片悬停特效,使用CSS3实现图片悬停放大的特效
  17. 使用qemu模拟X86处理器加载linux kernel+busybox文件系统并调试
  18. 如何将图片变成png格式?怎样在线转图片格式?
  19. sparc处理器开发工具_SPARC处理器启动代码的分析与编程
  20. 单片机毕设选题 - 便携式空气质量检测系统(物联网 嵌入式)

热门文章

  1. K-Fold交叉验证 原理+python实现
  2. 杨昕立计算机学院,写在告别之前——那些来自辅导员们的悄悄话
  3. Java闲杂笔记摘抄
  4. 电脑使用图片转换器打开heic图片方法
  5. 常见的exceptions总结
  6. 数据模型LP32 ILP32 LP64 LLP64 ILP64
  7. 【HaaS Python 硬件积木】 BMP280气压传感器
  8. in_array 二维数组
  9. Ubuntu14.04安装calamari
  10. HTTP协议中的一些概念