2016-05-03 10 views
2

警告を取り除くにはどうすればよいですか?私が使用しているコード:Android AsyncTask、警告:「varargsパラメータの未チェックのジェネリック配列の作成」

private void tryNew(List<Something> somethingList){ 
    new AsyncTask<List<Something>,Void,Void>(){ 
     @Override 
     protected Void doInBackground(List<Something> [] somethingList) { 
      //some code 
      return null; 
     } 
    }.execute(somethingList); 
} 
+0

'class Foo {public List list;のような一般的でないオブジェクトの' List 'をラップします。 } ''それを解決するか、単にそれを無視する 'AsyncTask zapl

答えて

1

警告メッセージを削除する場合は、指定されたAsyncTaskの可変範囲を使用する必要があります。

private void tryNew(List<Something> somethingList){ 
    new AsyncTask<Something,Void,Void>(){ 
     @Override 
     protected Void doInBackground(Something.. s) { 
      //some code 
      return null; 
     } 
    }.execute(somethingObject1, somethingObject2, somethingObject3); 
} 
2

私はこの同じ警告を出していましたが、ジェネリックスを使用せずにexecuteメソッドのパラメータで使用するオブジェクトを使用するだけで削除できました。 申し訳ありませんが、私の悪い英語ですが、私はより良く説明しようとします。

代わりに私のAsyncTaskこうして作成:

new AsyncTask<MyObject<GenericsInsideGenerics>, Void, Void>... 

を、私はこの方法で作成しました:

new AsyncTask<MyObject, Void, Void>... 

をそして、それが正常に動作します!

関連する問題