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
相关产品推荐
相关产品推荐

