先序

尽量一天一更,看看自己能水到啥地步

第三章-续

3.4 系统控件不够用?创建自定义控件

3.4.1 引入布局
在layout创建xml文件,然后在其他xml中使用include引入

<include layout="@layout/title"></include>

3.4.2 自定义控件
当某些控件,比如标题栏的返回键,基本每个界面都要,使用非常广泛,这样就比较适合干脆自定义一个返回按钮控件。
自定义一个布局类,继承,然后重写带参数的构造函数,在布局中引入自定义布局类,就可以对自定义组件进行加载,借助LayoutInFlater,

3.5 ListView

最常用的组件。
简单用法:

public class ListViewActivity extends AppCompatActivity {private String[] data = {"aaa", "bbb", "ccc", "ddd", "eee", "fff"};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_list_view);ArrayAdapter<String> adapter = new ArrayAdapter<String>(ListViewActivity.this,android.R.layout.simple_list_item_1,data);ListView listView = findViewById(R.id.list_view);listView.setAdapter(adapter);}
}<ListViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/list_view"></ListView>

难一点的用法,定制版
我感觉我现在,在经历一个时期,我真是草了,我现在要进行逐渐对比,我ctm,没错,不要怀疑,我就是一个sb
先看一下之前的学习吧

引入布局 自定义插件 普通引入ListView 自定义引入ListView
简单来说就像是前端的组件化开发,把UI设计的给组件化了,然后主界面引用 相同的UI是可以相同的,但是里面有些功能键可能是不同的,这个意思就是有些UI所对应的功能是不一样的,但是有些按钮是相同的其实意思就是如果某个组件化UI连功能都相似的话,干脆是可以定义成一个插件的 普通引入ListView,使用官方定义好的 自定义定义List
写好一个xml,然后在其他xml文件中引入,<include layout="@layout/xml文件名" /> 完成方法:自定义控件类继承布局,然后重写构造函数, LayoutInflater.from(context).inflate(R.layout.xml,this);

wcnm,昨天写的忘保存了

普通引入ListView 自定义引入ListView
活动中建立一个ListView,然后修改活动的类,ListView显示数据分两步,第一步配置适配器,因为是普通所以使用ArrayAdapter,第二步是输入适配器 第一步建立相应类,第二步建立子项布局xml文件,第三项继承适配器写新适配器,第四项在响应页面应用
ArrayAdapter<String> adapter = new ArrayAdapter<String>(ListViewActivity.this,android.R.layout.simple_list_item_1,data);//上下文,子项布局,数据   之前理解了很久,上下文意思就是当前你界面的位置,你想在哪个界面显示,不过一般都是本界面吧。// 子项布局,比如普通的这个来说,子项支持为String类型,等你要使用自定义布局的时候,就不能用这个item1来支持了,需要自己写支持项,比如经典的水果,你就需要写一个能够支持String和image的布局ListView listView = findViewById(R.id.list_view);listView.setAdapter(adapter);
public class Fruit {private String name;private int id;public Fruit(String name, int id) {this.name = name;this.id = id;}public String getName() {return name;}public int getId() {return id;}
}<TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/fruit_id"></TextView><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/fruit_name"></TextView>initData();FruitAdapter fruitAdapter = new FruitAdapter(PrivateAdapter.this,R.layout.fruit_item,fruitList);ListView listView = findViewById(R.id.private_list_view);listView.setAdapter(fruitAdapter);

我真是烦透了这个傻逼ListView了,这点马上写写就过
3.5.2 提升ListView运行效率

Android学习day04相关推荐

  1. Android学习路线

    Android学习路线 第一阶段:Java面向对象编程 1.Java基本数据类型与表达式,分支循环.  2.String和StringBuffer的使用.正则表达式.  3.面向对象的抽象,封装,继承 ...

  2. 一篇文章一张思维导图看懂Android学习最佳路线

    一篇文章一张思维导图看懂Android学习最佳路线 先上一张android开发知识点学习路线图思维导图 Android学习路线从4个阶段来对Android的学习过程做一个全面的分析:Android初级 ...

  3. Android学习系列(10)--App列表之拖拽ListView(上)

    研究了很久的拖拽ListView的实现,受益良多,特此与尔共飨.       鉴于这部分内容网上的资料少而简陋,而具体的实现过程或许对大家才有帮助,为了详尽而不失真,我们一步一步分析,分成两篇文章. ...

  4. Android学习第一书

    大家好,我是一名Facebook的工程师,同时也是<第一行代码--Android>的忠实读者. 虽然我最近几年是在国外读书和工作的,但是和很多人一样,我也非常喜欢郭霖的博客以及他写的< ...

  5. Android学习笔记21:ImageView获取网络图片

    Android平台有3种网络接口可以使用,它们分别是:java.net.*(标准java接口).org.apache(Apache接口)和android.net.*(Android网络接口).本文将使 ...

  6. 四、Android学习第四天——JAVA基础回顾(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 四.Android学习第四天--JAVA基础回顾 这才学习Android的 ...

  7. Android学习-- 基于位置的服务 LBS(基于百度地图Android SDK)--定位SDK

    原文:Android学习-- 基于位置的服务 LBS(基于百度地图Android SDK)--定位SDK 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.ne ...

  8. 我的Android学习体系

    我的Android学习之路历经坎坷啊,现在回过头来主要想分享下我学习Android开发所走过的过程中所学会的一些误区和弯路,那些让自己的进步一直很慢的原因,一直没有什么成就的原因,希望其他人可以借鉴我 ...

  9. 十一、Android学习第十天——项目开始(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 十一.Android学习第十天--项目开始 Android知识点的学习告一 ...

最新文章

  1. python线程只能启动一次_python多线程只能运行一个线程的问题
  2. 眺望全真互联时代!TVP音视频技术闭门会闪耀上海
  3. udp 使用connect优点_nodejs源码分析第十九章 -- udp模块
  4. Python List sort方法无效
  5. java cipher.dofinal_cipher.dofinal方法
  6. linux下Jdk版本切换
  7. 工程计算书(计算稿)共享和服务—PASS云计算书平台
  8. mysql数据库学习(一)
  9. mybatis的selectOne分享
  10. air android 后台运行,AIR Android:使用模拟器运行程序
  11. 请写出至少五个块级元素_以逸之名
  12. urlrewrite 的使用方法
  13. 转载的一篇存储图片等信息的还不错的文章
  14. 目前什么ip软件比较好用,国内ip最多呢
  15. 怎么用计算机算npv,CFA考试使用的计算器的用法
  16. 电视服务器绑上电池信号强吗,路由器上面绑电池,可以增加WiFi信号,真的有作用吗?...
  17. 【计算机网络】B类IP地址
  18. python 读取3D obj文件
  19. 弹窗Modal实现和有滚动条偏移解决方法。
  20. 最根本的穴位-会阴穴

热门文章

  1. 北京中考英语听说计算机考试时间,2019年北京中考英语听说考时间确定
  2. 豆瓣走进校招,Web 2.0 站稳脚跟?
  3. c++11 is_copy_assignable说明
  4. Flutter下打包IOS遇到的部分问题
  5. 如何修复Office Word 2003里符号栏不能用?
  6. 长视频凛冬已至,芒果超媒、B站如何度过这个冬天?
  7. CPU state小结
  8. [OpenGL(C++)] - (开源)3D 游戏界的大牛人 John Carmack 终于放出quakeIII(雷神之锤3)的源代码...
  9. java redis session共享_Springboot+redis实现session共享
  10. PSD:由物理先验指导的有原则的合成到真实的去雾(Principled Synthetic-to-Real Dehazing Guided by Physical Priors_CVPR_2021)