ArrayAdapter使用XML字符串数组报错:期望id类型资源的解决方案
解决ArrayAdapter传入资源ID时的“Expected resource of type id”错误
你遇到的问题是误用了ArrayAdapter的构造方法——部分构造函数要求传入布局资源ID(类型为id),而你传入的是
方法1:使用ArrayAdapter.createFromResource()静态方法
这是Android官方提供的、专门用于从
// 获取ListView实例 ListView listView = findViewById(R.id.listView); // 从<string-array>资源创建适配器 ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource( this, R.array.lsViewArray, android.R.layout.simple_list_item_1 // 可替换为自定义列表项布局 ); listView.setAdapter(adapter);
方法2:直接在ListView的XML布局中绑定资源
如果不需要在Java代码中对适配器做额外操作,完全可以跳过Java代码,直接在ListView的XML里通过entries属性绑定
<ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="match_parent" android:entries="@array/lsViewArray" />
系统会自动为ListView创建并绑定适配器,无需额外代码。
内容的提问来源于stack exchange,提问作者Aditya Deshwal
相关产品推荐
相关产品推荐

