Android入门——使用适配器构建布局

来源:互联网 发布:视频素材下载软件 编辑:程序博客网 时间:2024/05/24 01:38

适配器

如果布局的内容是属于动态或未预先确定的内容,可以使用这样一种布局:在运行时通过子类 AdapterView 用视图填充布局。 AdapterView 类的子类使用 Adapter 将数据与其布局绑定。Adapter 充当数据源与 AdapterView 布局之间的中间人—Adapter(从数组或数据库查询等来源)检索数据,并将每个条目转换为可以添加到 AdapterView 布局中的视图。

AdapterView

适配器支持的常见布局包括:
1)ListView 列表视图 显示滚动的单列列表。
2)GridView 网络视图 显示滚动的行列网格。
适配器并未直接构建到这些控件本身,通过将其保持分离,适配器定义了如何显示基础数据的每个元素,所实现的适配器视图本身负责控制如何排列每个元素
优达学城的android课程讲解截图

利用原始数据初始化适配器,适配器得到原始数据和布局设置
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);
0 0
原创粉丝点击