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 中将不起作用。 所以传递 getContextgetActivity.

尝试将 "this" 替换为 "MainActivity.this"(或您使用的任何 class 名称)