我在我的应用程序中编写了以下代码片段:
public Fragment getItem(int position) {
switch(position){
case 0:
LP_Events_Tab mEventsTab= new LP_Events_Tab();
mList= (ListView) findViewById(R.id.event_list);
String[] temp= {"1","2","3"};
ArrayAdapter<String> arrayAdapter= new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, temp);
return mEventsTab;
/*Other cases*/
}
return null;
}
对于案例0,我使用名为temp
的字符串数组来初始化ArrayAdapter
。但是,Android Studio会更新ArrayAdapter
初始化参数:(this,android.R.layout.simple_list_item_1, temp)
因此,我无法继续。我没有看到这些参数有任何错误,但Android Studio确实存在,因此,我被卡住了。
答案 0 :(得分:0)
替换片段中的以下代码行 -
ArrayAdapter<String> arrayAdapter= new ArrayAdapter<String>(getContext(), android.R.layout.simple_list_item_1, temp);
希望这会有所帮助,如果您需要更多帮助,请与我们联系。
答案 1 :(得分:0)
问题在于适配器的构造函数
ArrayAdapter(Context context, int resource, List<T> objects)
因此,请确保传递正确的参数,在您的情况下,您的第一个参数是this
,这在Activity中不起作用。
因此,请传递getContext
或getActivity
。
答案 2 :(得分:-1)
尝试将“this”替换为“MainActivity.this”(或您拥有的任何类名)