ArrayAdapter 初始化错误 (Android)
ArrayAdapter initialization error (Android)
我在我的应用程序中编写了以下代码片段:
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 有,因此,我被卡住了。
替换片段中的以下代码行 -
ArrayAdapter<String> arrayAdapter= new ArrayAdapter<String>(getContext(), android.R.layout.simple_list_item_1, temp);
希望这对您有所帮助,如果您需要更多帮助,请告诉我。
问题出在适配器的构造函数上
ArrayAdapter(Context context, int resource, List<T> objects)
因此,请确保您传递的参数正确,在您的情况下,您的第一个参数是 this
,它在 Activity 中将不起作用。
所以传递 getContext
或 getActivity
.
尝试将 "this" 替换为 "MainActivity.this"(或您使用的任何 class 名称)
我在我的应用程序中编写了以下代码片段:
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 有,因此,我被卡住了。
替换片段中的以下代码行 -
ArrayAdapter<String> arrayAdapter= new ArrayAdapter<String>(getContext(), android.R.layout.simple_list_item_1, temp);
希望这对您有所帮助,如果您需要更多帮助,请告诉我。
问题出在适配器的构造函数上
ArrayAdapter(Context context, int resource, List<T> objects)
因此,请确保您传递的参数正确,在您的情况下,您的第一个参数是 this
,它在 Activity 中将不起作用。
所以传递 getContext
或 getActivity
.
尝试将 "this" 替换为 "MainActivity.this"(或您使用的任何 class 名称)