Android入门——使用适配器构建布局
来源:互联网 发布:视频素材下载软件 编辑:程序博客网 时间:2024/05/24 01:38
适配器
如果布局的内容是属于动态或未预先确定的内容,可以使用这样一种布局:在运行时通过子类 AdapterView 用视图填充布局。 AdapterView 类的子类使用 Adapter 将数据与其布局绑定。Adapter 充当数据源与 AdapterView 布局之间的中间人—Adapter(从数组或数据库查询等来源)检索数据,并将每个条目转换为可以添加到 AdapterView 布局中的视图。
AdapterView
适配器支持的常见布局包括:
1)ListView 列表视图 显示滚动的单列列表。
2)GridView 网络视图 显示滚动的行列网格。
适配器并未直接构建到这些控件本身,通过将其保持分离,适配器定义了如何显示基础数据的每个元素,所实现的适配器视图本身负责控制如何排列每个元素
利用原始数据初始化适配器,适配器得到原始数据和布局设置
ListView从0开始,向Adapter发送要求,Adapter收到请求后将数据按照指定的布局返回给ListView
适配器的初始化
在数据源为数组时使用ArrayAdapter。
默认情况下,ArrayAdapter 会通过在每个项目上调用 toString() 并将内容放入 TextView 来为每个数组项创建视图。
提供四个参数://得到raw data 和 数据的格式
1.context 包含有关应用环境的全局信息,允许访问系统服务和资源以及我们已定义的应用程序特定资源
2. ID of list item layout layout布局文件
3. ID of text view 想要的格式的ID
4. list of data
以课程中的Sunshine天气为例,创建假数据的字符串简要说明
String[] forecastArray = { "Mon 6/23 - Sunny - 31/17", "Tue 6/24 - Foggy - 21/8", "Wed 6/25 - Cloudy - 22/17", "Thurs 6/26 - Rainy - 18/11", "Fri 6/27 - Foggy - 21/10", "Sat 6/28 - TRAPPED IN WEATHERSTATION - 23/18", "Sun 6/29 - Sunny - 20/7" }; List<String> weekForecast = new ArrayList<String>(Arrays.asList(forecastArray)); ArrayAdapter<String> adapter = new ArrayAdapter<String>( // The current context(this activity) this, // ID of list item layout R.layout.list_item_forecast, // ID of the textview to populate R.id.list_item_forecast, // Forecast data weekForecast); }
然后将ArrayAdapter与xml中的ListView连接
ListView listView = (ListView) findViewById(R.id.listview_forecast); listView.setAdapter(adapter);
- Android入门——使用适配器构建布局
- Android入门——适配器(Adapter)
- Android入门——布局
- Android——ListView多布局+适配器(二)
- Android——ListView布局+适配器(三)
- 使用java代码构建android布局控件
- 入门——Android 五大布局
- Android UI 开发入门—线性布局
- 使用 Eclipse PhoneGap 构建 Android 应用程序入门
- 使用 Eclipse PhoneGap 构建 Android 应用程序入门
- Android——适配器
- Android 入门——ConstraintLayout详解以及使用替代你的常规布局
- Android——数据适配器 BaseAdapter的使用和优化
- Android适配器的使用—GridView、Gellery、AdapterViewFilpper
- android ListView&&适配器使用
- Android适配器的使用
- android 适配器的使用
- android适配器的使用
- hdu1166(树状数组)
- 小项目-倒计时时钟
- 计算机专业中的程序员和非程序员
- 谈谈HashMap线程不安全的体现
- 关于android:descendantFocusability一些用法感触
- Android入门——使用适配器构建布局
- Python3,pymysql
- 如何实现android清理后台时,自己的软件不被清理
- MySQL控制台显示结果的中文字符会出现乱码
- Linux静态库和动态库区别
- 使用Azure Slave Plugin基于Azure中国区搭建Jenkins持续集成平台
- Maven将项目以及所有依赖包打成一个jar
- 勾股定理一日一证连载175
- java.net.ConnectException: Connection refused: connect.无法连接.