![](/img/trans.png)
[英]Cannot infer type arguments for ArrayAdapter<> in Android
[英]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);
如果有必要,我也可以發布我的完整 Fragment 類,它必須與我的 API 和 ArrayAdapter 使用的 API 相關嗎? 不要忘記我只是一個初學者,我正在嘗試自己做一些事情。
您需要將上下文傳遞給 ArrayAdapter 的構造函數。 您實際上是在 Fragment 類中對其進行初始化,因此this
作為 Context 是無效的。 試試打電話
final ArrayAdapter adapter = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_1,
mutableBookings);
有時方法不直接在活動中運行並且無法訪問它,不是因為這個,而是因為 getApplicationContext()
ArrayAdapter adapter = new ArrayAdapter<>(getApplicationContext(), android.R.layout.simple_list_item_1, mutableBookings);
嘗試在您的Adapter
聲明中使用類型。 您缺少mutableBookings
的type
:
final ArrayAdapter adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mutableBookings);
如果你在片段中,那么你應該使用
ArrayAdapter<String> adapter = new ArrayAdapter<>(**getContext()**,android.R.layout.simple_list_item_1,items);
當我使用下面的代碼時,我遇到了與 error: cannot infer type arguments for 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);
我將此更改為 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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.