无法推断 ArrayAdapter<> 的类型参数
Cannot infer type arguments for ArrayAdapter<>
我仍在摆弄我的日历,我几乎已经成功地将 https://github.com/SundeepK/CompactCalendarView 整合到我的一个片段中。只剩下一个错误,我做了一些研究,其他人也遇到了问题,例如 ArrayList<>。
示例代码:
final ArrayAdapter adapter = new ArrayAdapter<>
(this,android.R.layout.simple_list_item_1, mutableBookings);
IDE 说:
Error:(87, 38) error: cannot infer type arguments for ArrayAdapter<>
注意:C:...\Uebersicht.java 使用或覆盖已弃用的 API。
注意:使用 -Xlint:deprecation 重新编译以获取详细信息。
我已经试过重新编译了,结果好像不行
Uebersicht.java:87: error: cannot find symbol
final ArrayAdapter adapter =
new ArrayAdapter<>(this,android.R.layout.simple_list_item_1, mutableBookings);
Uebersicht.java:87: error: cannot find symbol
final ArrayAdapter adapter =
new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, mutableBookings);
Uebersicht.java:87: error: package android.R does not exist
final ArrayAdapter adapter =
new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, mutableBookings);
如果有必要,我也可以 post 我的完整片段 class,它必须与我的 API 和 ArrayAdapter 使用的 API 相关吗?别忘了我只是一个初学者,我正在尝试自己做一些事情。
尝试在您的 Adapter
声明中使用类型。您缺少 mutableBookings
的 type
:
final ArrayAdapter adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mutableBookings);
您需要将上下文传递给ArrayAdapter 的构造函数。您实际上是在片段 class 中对其进行初始化,因此 this
作为上下文无效。试试打电话
final ArrayAdapter adapter = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_1,
mutableBookings);
有时候方法不运行直接在activity里面访问不到,不是因为这个,而是因为getApplicationContext()
ArrayAdapter adapter = new ArrayAdapter<>(getApplicationContext(), android.R.layout.simple_list_item_1, mutableBookings);
如果你在片段中,那么你应该使用
ArrayAdapter<String> adapter = new ArrayAdapter<>(**getContext()**,android.R.layout.simple_list_item_1,items);
当我使用下面的代码时,我遇到了与错误相同的错误:无法推断 ArrayAdapter<> 的类型参数:
ArrayList<String> arrayListward_items=new ArrayList<>(Arrays.asList(wardItemsKisumuSeme));
ArrayAdapter<String> ward_itemsAdapter=new ArrayAdapter<>(this,R.layout.style_spinner,arrayListward_items);
wardSpinner.setAdapter(ward_itemsAdapter);
我将 this 更改为 getApplicationContext() 并且能够修复错误,试试看:
ArrayList<String> arrayListward_items=new ArrayList<>(Arrays.asList(wardItemsKisumuSeme));
ArrayAdapter<String> ward_itemsAdapter=new ArrayAdapter<>(getApplicationContext(),R.layout.style_spinner,arrayListward_items);
wardSpinner.setAdapter(ward_itemsAdapter);
我仍在摆弄我的日历,我几乎已经成功地将 https://github.com/SundeepK/CompactCalendarView 整合到我的一个片段中。只剩下一个错误,我做了一些研究,其他人也遇到了问题,例如 ArrayList<>。
示例代码:
final ArrayAdapter adapter = new ArrayAdapter<>
(this,android.R.layout.simple_list_item_1, mutableBookings);
IDE 说:
Error:(87, 38) error: cannot infer type arguments for ArrayAdapter<>
注意:C:...\Uebersicht.java 使用或覆盖已弃用的 API。 注意:使用 -Xlint:deprecation 重新编译以获取详细信息。
我已经试过重新编译了,结果好像不行
Uebersicht.java:87: error: cannot find symbol
final ArrayAdapter adapter =
new ArrayAdapter<>(this,android.R.layout.simple_list_item_1, mutableBookings);
Uebersicht.java:87: error: cannot find symbol
final ArrayAdapter adapter =
new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, mutableBookings);
Uebersicht.java:87: error: package android.R does not exist
final ArrayAdapter adapter =
new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, mutableBookings);
如果有必要,我也可以 post 我的完整片段 class,它必须与我的 API 和 ArrayAdapter 使用的 API 相关吗?别忘了我只是一个初学者,我正在尝试自己做一些事情。
尝试在您的 Adapter
声明中使用类型。您缺少 mutableBookings
的 type
:
final ArrayAdapter adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mutableBookings);
您需要将上下文传递给ArrayAdapter 的构造函数。您实际上是在片段 class 中对其进行初始化,因此 this
作为上下文无效。试试打电话
final ArrayAdapter adapter = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_1,
mutableBookings);
有时候方法不运行直接在activity里面访问不到,不是因为这个,而是因为getApplicationContext()
ArrayAdapter adapter = new ArrayAdapter<>(getApplicationContext(), android.R.layout.simple_list_item_1, mutableBookings);
如果你在片段中,那么你应该使用
ArrayAdapter<String> adapter = new ArrayAdapter<>(**getContext()**,android.R.layout.simple_list_item_1,items);
当我使用下面的代码时,我遇到了与错误相同的错误:无法推断 ArrayAdapter<> 的类型参数:
ArrayList<String> arrayListward_items=new ArrayList<>(Arrays.asList(wardItemsKisumuSeme));
ArrayAdapter<String> ward_itemsAdapter=new ArrayAdapter<>(this,R.layout.style_spinner,arrayListward_items);
wardSpinner.setAdapter(ward_itemsAdapter);
我将 this 更改为 getApplicationContext() 并且能够修复错误,试试看:
ArrayList<String> arrayListward_items=new ArrayList<>(Arrays.asList(wardItemsKisumuSeme));
ArrayAdapter<String> ward_itemsAdapter=new ArrayAdapter<>(getApplicationContext(),R.layout.style_spinner,arrayListward_items);
wardSpinner.setAdapter(ward_itemsAdapter);