Java Android ArrayAdapter构造函数不接受泛型对象?

Java Android ArrayAdapter构造函数不接受泛型对象?,java,android,autocomplete,arraylist,Java,Android,Autocomplete,Arraylist,我对Android自动完成下拉菜单有问题。我试图将一个自定义对象传递到一个新的ArrayAdapter中,然后将其用于下拉菜单中的数据。但是,这行代码有以下错误: adapter = new ArrayAdapter<String>(_context, R.layout.list_item, list_items); The constructor ArrayAdapter<String>(Context, int, DropdownItemData[]) is und

我对Android自动完成下拉菜单有问题。我试图将一个自定义对象传递到一个新的ArrayAdapter中,然后将其用于下拉菜单中的数据。但是,这行代码有以下错误:

adapter = new ArrayAdapter<String>(_context, R.layout.list_item, list_items);

The constructor ArrayAdapter<String>(Context, int, DropdownItemData[]) is undefined
adapter=newarrayadapter(_context,R.layout.list_items,list_items);
构造函数ArrayAdapter(上下文、int、DropdownItemData[])未定义
我也试过运行这个,它会输出一个类型不匹配错误:

adapter = new ArrayAdapter<DropdownItemData>(_context, R.layout.list_item, list_items);

Type mismatch: cannot convert from ArrayAdapter<DropdownItemData> to ArrayAdapter<String>
adapter=newarrayadapter(_context,R.layout.list_items,list_items);
类型不匹配:无法从ArrayAdapter转换为ArrayAdapter
但是,以下方法确实可以很好地工作:

String[] test_list = new String[] {"some", "test", "data"};
adapter = new ArrayAdapter<String>(_context, R.layout.list_item, test_list);
String[]test\u list=新字符串[]{“一些”、“测试”、“数据”};
适配器=新阵列适配器(_上下文、R.layout.list项目、测试列表);
我的DropdownItemData类重写Object toString()方法,如ArrayList文档中所建议的:


有人知道问题是什么/我遗漏了什么吗?根据文档,我试图为ArrayList使用的构造函数应该只是一个通用列表——因此我不理解错误的原因。

类名是
ArrayAdapter
。构造函数签名是
ArrayAdapter(上下文上下文,int textViewResourceId,T[]对象)

因此,如果将变量声明为
ArrayAdapter
,则必须传递
String
数组作为构造函数的最后一个参数

要能够向其传递一个包含
DropdownItemData
的数组,适配器的类型必须是
ArrayAdapter

你可以把狮子放在笼子里,把鸟放在笼子里。但是你不能把
笼子
用于鸟类,也不能把
笼子
用于狮子


您应该阅读。

类名为
ArrayAdapter
。构造函数签名是
ArrayAdapter(上下文上下文,int textViewResourceId,T[]对象)

因此,如果将变量声明为
ArrayAdapter
,则必须传递
String
数组作为构造函数的最后一个参数

要能够向其传递一个包含
DropdownItemData
的数组,适配器的类型必须是
ArrayAdapter

你可以把狮子放在笼子里,把鸟放在笼子里。但是你不能把
笼子
用于鸟类,也不能把
笼子
用于狮子


您应该阅读。

事实上,即使我将其更改为ArrayAdapter,也会出现一个错误--它仍然需要一个字符串。我将更新我的问题以反映这一点。确保变量声明为ArrayAdapter。阵列适配器;/;适配器=新阵列适配器(_上下文,R.layout.list_项,list_项);ArrayAdapter与ArrayAdapter不同,实际上,即使我将其更改为ArrayAdapter,也会出现错误--它仍然需要一个字符串。我将更新我的问题以反映这一点。确保变量声明为ArrayAdapter。阵列适配器;/;适配器=新阵列适配器(_上下文,R.layout.list_项,list_项);ArrayAdapter与ArrayAdapter不同