我遇到了Android自动完成下拉菜单的问题。我正在尝试将自定义对象传递给一个新的ArrayAdapter,然后将其用于下拉菜单中的数据。不过,我发现了以下错误此行的代码:Android ArrayAdapter构造函数不接受通用对象?
adapter = new ArrayAdapter<String>(_context, R.layout.list_item, list_items);
The constructor ArrayAdapter<String>(Context, int, DropdownItemData[]) is undefined
我试图运行此为好,其输出类型不匹配错误:
adapter = new ArrayAdapter<DropdownItemData>(_context, R.layout.list_item, list_items);
Type mismatch: cannot convert from ArrayAdapter<DropdownItemData> to ArrayAdapter<String>
但是,下面的确实工作就好了:
String[] test_list = new String[] {"some", "test", "data"};
adapter = new ArrayAdapter<String>(_context, R.layout.list_item, test_list);
我DropdownItemData类覆盖了对象的toString()方法,如ArrayList的文档h的建议ERE:
http://developer.android.com/reference/android/widget/ArrayAdapter.html
有谁知道问题是什么/是什么我失踪?根据文档,我试图用于ArrayList的构造函数应该只是采用通用列表 - 所以我不明白错误是什么抱怨。
实际上,即使将其更改为ArrayAdapter,我也会得到一个错误 - 它仍然需要一个字符串。我会更新我的问题以反映这一点。 –
DashRantic
确保将变量*声明为ArrayAdapter。 ArrayAdapter 适配器; // ...; adapter = new ArrayAdapter (_ context,R.layout.list_item,list_items); –
ArrayAdapter与ArrayAdapter 不相同 –
josephus