ArrayAdapter初始化错误(Android)

时间:2017-08-20 17:49:09

标签: android listview android-arrayadapter

我在我的应用程序中编写了以下代码片段:

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确实存在,因此,我被卡住了。

3 个答案:

答案 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中不起作用。 因此,请传递getContextgetActivity

答案 2 :(得分:-1)

尝试将“this”替换为“MainActivity.this”(或您拥有的任何类名)