0

Aasically 我正在尝试将 ArrayList a (allApps) 中的项目添加到 ArrayList b (myApps) 中,但出现错误。

这就是我正在尝试的:

public ArrayList myApps = new ArrayList(); 

@Override
public void onCreate(Bundle savedInstanceState) {
   ...
   for(final ResolveInfo app : allApps) {
        addApp(app);
    }
}

public void addApp(ResolveInfo app) {
    ArrayList.add(app); // ERROR: Cannot make a static reference to the non-static method add(Object) from the type ArrayList
}

这个错误是什么意思,我怎样才能让我将一个项目从一个数组复制到另一个?

4

3 回答 3

1

add 方法ArrayList不是静态方法,因此您不能在 ArrayList 实例之外调用。先声明实例然后调用add

它应该是myApps.add(app);

于 2013-01-12T07:02:15.593 回答
0

根据您的描述,您需要在 ArrayList 的实例上调用 add,而不是在类本身上调用,您正在寻找的是

public void addApp(ResolveInfo app) {
    myApps.add(app);
}
于 2013-01-12T07:04:48.290 回答
0

像这样改变你的方法:

public void addApp(ResolveInfo app) {
    myApps.add(app); 
}
于 2013-01-12T07:05:08.447 回答