You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ArrayAdapter第一、第二个无数据构造器的使用时机及示例问询

ArrayAdapter无数据参数构造器的使用场景

第一个构造器(仅传入Context和布局资源)

这个构造器适用于后续手动动态添加数据的场景——比如初始没有现成的数组/列表,需要从网络、数据库异步加载数据,或是在用户交互过程中逐步新增条目时使用。它内部会自动初始化一个空的ArrayList来存储后续数据。

示例代码:

// 初始化Adapter,仅指定上下文和系统默认列表项布局
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1);

// 后续动态添加数据
adapter.add("首页推荐");
adapter.add("我的收藏");
adapter.addAll(Arrays.asList("历史记录", "设置中心"));

// 绑定到ListView
ListView listView = findViewById(R.id.main_list);
listView.setAdapter(adapter);

第二个构造器(传入Context、布局资源、TextView控件ID)

使用场景和第一个基本一致,区别在于它明确指定了布局中用来显示文本的TextView ID,适合自定义列表项布局(布局内包含多个控件)的情况,避免Adapter默认找不到文本显示控件而出错。

示例代码:

// 自定义列表项布局item_custom.xml,其中包含id为tv_title的TextView
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, R.layout.item_custom, R.id.tv_title);

// 动态填充数据
adapter.add("商品分类");
adapter.add("限时折扣");

ListView listView = findViewById(R.id.goods_list);
listView.setAdapter(adapter);

内容的提问来源于stack exchange,提问作者amin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 05:09:57