Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android中的阵列适配器_Android_Listview_Android Listview - Fatal编程技术网

android中的阵列适配器

android中的阵列适配器,android,listview,android-listview,Android,Listview,Android Listview,我这里有一个非常基本的问题: 我正在使用ArrayAdapter创建一个android列表,它将数据从字符串数组填充到listView: final String[] listData={"Red", "Green", "Blue", "Purple", "Orange"}; final ListView lv=(ListView)findViewById(R.id.listView1); final ArrayAdapter&l

我这里有一个非常基本的问题: 我正在使用ArrayAdapter创建一个android列表,它将数据从字符串数组填充到listView:

final String[] listData={"Red", "Green", "Blue",
                "Purple", "Orange"};
        final ListView lv=(ListView)findViewById(R.id.listView1);

        final ArrayAdapter<String> aa=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, listData);
        lv.setAdapter(aa);
final String[]listData={“红色”、“绿色”、“蓝色”,
“紫色”、“橙色”};
最终ListView lv=(ListView)findViewById(R.id.listView1);
最终ArrayAdapter aa=新的ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,listData);
低压设置适配器(aa);
上面的代码运行良好。我的问题是,为什么我们不能使用以下适配器实现:

final ArrayAdapter<String> aa=new ArrayAdapter<String>(this, R.id.listView1, listData);
final ArrayAdapter aa=新的ArrayAdapter(这个,R.id.listView1,listData);
listView1是activity_main.xml中我的ListView的id。我尝试使用此实现,但应用程序崩溃。 我错过了什么?抱歉,如果这个问题看起来很傻,因为我还在学习如何编程android!谢谢你的帮助

你有

ArrayAdapter<String> aa=new ArrayAdapter<String>(this, R.id.listView1, listData);
ArrayAdapter(上下文上下文、int资源、int文本视图资源ID、T[]对象)

第二个参数是一个资源,它应该是一个带有文本视图的布局

第三个参数是您拥有的textview id

ArrayAdapter<String> aa=new ArrayAdapter<String>(this, R.id.listView1, listData);
ArrayAdapter(上下文上下文、int资源、int文本视图资源ID、T[]对象)

第二个参数是一个资源,它应该是一个带有文本视图的布局

第三个参数是textview id

listView1是activity_main.xml中我的ListView的id

构造函数需要一个
TextView
的id,将您通过listData提供的文本放在哪里

listView1是activity_main.xml中我的ListView的id


构造函数需要一个
TextView
的id,将您通过listData提供的文本放在哪里您试图使用一个非自定义
数组适配器的自定义布局。Android基本上不知道你的布局项目是什么,比如
TextView
。为此,您有另一个构造函数,可以在其中指定
TextView
的ID:

final ArrayAdapter<String> aa=new ArrayAdapter<String>(this, R.id.listView1, R.id.your_textview_id, listData);
final ArrayAdapter aa=新的ArrayAdapter(this,R.id.listView1,R.id.your_textview_id,listData);

您正在尝试将自定义布局与非自定义
阵列适配器一起使用。Android基本上不知道你的布局项目是什么,比如
TextView
。为此,您有另一个构造函数,可以在其中指定
TextView
的ID:

final ArrayAdapter<String> aa=new ArrayAdapter<String>(this, R.id.listView1, R.id.your_textview_id, listData);
final ArrayAdapter aa=新的ArrayAdapter(this,R.id.listView1,R.id.your_textview_id,listData);
在ArrayAdapter(Context Context,int resource,T[]objects)中,构造函数的第二个参数是要膨胀的布局资源,因此您必须传递R.layout而不是R.id作为参数。在您的布局中应该有id@android:id/text的TextView,以便android自动设置字符串。如果要提供id,请使用ArrayAdapter(上下文上下文、int-resource、int-textViewResourceId、T[]对象)

在ArrayAdapter(Context Context,int resource,T[]objects)中,构造函数的第二个参数是要膨胀的布局资源,因此您必须传递R.layout而不是R.id作为参数。在您的布局中应该有id@android:id/text的TextView,以便android自动设置字符串。如果要提供id,请使用ArrayAdapter(上下文上下文、int-resource、int-textViewResourceId、T[]对象)