无法从ArrayList创建ArrayAdaptor

时间:2016-06-06 08:10:24

标签: java android

我试图从ArrayList

创建一个数组适配器
 ArrayList<String> serverarray ;
 ArrayAdapter<String> arrayAdapter =new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,serverarray);

但我一直得到这个

The constructor ArrayAdapter<String>(MainActivity.FindServer, int, ArrayList<String>) is undefined

我做错了什么?

2 个答案:

答案 0 :(得分:2)

使用

 ArrayAdapter<String> arrayAdapter =new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,serverarray);
您当前上下文中的

thisMainActivity.FindServer,这不是我认为的有效Context对象。

答案 1 :(得分:1)

您尝试调用的构造函数是签名:

ArrayAdapter(Context context, int resource, List<T> objects) 

第二和第三个第三个参数似乎没问题,因此第一个参数的this可能不是Context类型。

您需要在MainActivity类中传递对MainActivity.FindServer的上下文的引用,然后将其作为第一个参数传递。

我建议你看一下:How to retrieve a context from a non-activity class?