使用静态数组定义适配器

时间:2013-12-02 11:51:19

标签: android

我正在尝试在oncreate方法中定义和设置此适配器。 stockArray是在主活动(不是同一个类)中定义的ArrayList。我收到一个错误,说我的构造函数未定义。

ArrayAdapter<Object> adapter = new ArrayAdapter<Object>(SearchActivity.this, android.R.layout.simple_list_item_1, MainActivity.stockArray);

这是在主要活动中定义数组的方式:

public static AsyncTask<ArrayList<Object>, Void, ArrayList<Object>> stockArray;

3 个答案:

答案 0 :(得分:0)

在你的情况下,

stockArray不是一个数组,但是这个

AsyncTask<ArrayList<Object>, Void, ArrayList<Object>>

在最后一个参数中,您需要传递ArrayList<Object>;

类型的对象

答案 1 :(得分:0)

您收到错误,因为您的arrayadapter类型为“ArrayList<Object>”并且您正在传递类型为AsyncTask<ArrayList<Object>, Void, ArrayList<Object>>的实例

尝试将类型ArrayList<Object>的实例传递给构造函数。

希望这有帮助。

答案 2 :(得分:-1)

如果您的MainActivityActivity对象,则无法以您已完成的方式访问Array。您可以将Array作为static对象保留在其他课程中,然后在Activity中使用静态访问权限。

public class Constants {
    public static final Object [] myArray = { object1 , object2 } ;
} 

然后在你的活动中

ArrayAdapter<Object> adapter = new ArrayAdapter<Object>(SearchActivity.this, android.R.layout.simple_list_item_1, Constants.myArray);

希望它有所帮助。

相关问题