0

基本的に、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 に答える