时间: 2020-11-22|37次围观|0 条评论

今天碰到这样一个难题,搞了很久都没搞定,到网上搜索了一下,发现有很多人都在问这样的问题,现在将自己解决和分析的结果放置如下:

如何解决ArrayAdapter requires the resource ID to be a TextView插图

在ArrayAdapter()这个类中有多个构造方法,我仅据此列以作代表:

ArrayAdapter(Context context ,int textViewResourceId ,List<T> objects)

 

参数:

context    ----> the current context
textViewResourceId ----> the resource ID for a layout file contain a TextView to use when instantiating views.
List<T> objects ---> the objects to represent in the ListView

 

 

第一个参数:上下文,就是当前的Activity.

          写法: MainActivity.this      this

 

第二个参数:Android sdk中自己内置的一个布局,它里面只有一个TextView,这个参数是表明我们数组中每一条数据的布局是这个View,就是将每一条数据都显示在这个View上面,也就是当装载在这个构造函数中的layout时,其layout的ID 必须是一个TextView,简言之,第2个参数应该是ListView中每个选择项的样式,可以使用系统自带的 android.R.layout.xxx,也可以是自定义的,仅包含TextView。

                          

创建ArrayAdapter时候必须指定一个resource,该参数决定每个列表项的外观样式

simple_list_item_1: 每个列表项都是一个普通的TextView

simple_list_item_2: 有两个TextView,一个单独在一行,就是分两行显示

simple_list_item_checked: 每个列表项都是一个已勾选的列表项

      

第三个参数:就是我们要显示的数据。listView会根据这三个参数,遍历AdapterData里面的每一条数据,读出一条,显示到第二个参数对应的布局中,这样就形成了我们看到的ListView.

 

下面是Android sdk自置的布局

 

路径:C:\android-sdk_r22.3-windows\android-sdk-windows\platforms\android-16\data\res\layout

 

simple_list_item_1.xml

 

转载于:https://www.cnblogs.com/huanpeng/p/4224425.html

原文链接:https://blog.csdn.net/weixin_30342827/article/details/98857148

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《如何解决ArrayAdapter requires the resource ID to be a TextView
   

还没有人抢沙发呢~