繁体   English   中英

将ResolveInfo项目从ArrayList a复制到ArrayList b?

[英]Copy ResolveInfo item from ArrayList a to ArrayList b?

荒谬的是,我试图将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
}

此错误是什么意思,如何将一个项目从一个数组复制到另一个数组?

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

它应该是myApps.add(app);

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

public void addApp(ResolveInfo app) {
    myApps.add(app);
}

像这样更改您的方法:

public void addApp(ResolveInfo app) {
    myApps.add(app); 
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM