我在异步任务中有这个doInBackground,我收到了这个Vargas警告:
Varargs方法应该只覆盖或被其他varargs方法覆盖,这与RingBankAsyncTask.doInBackground(String [])和AsyncTask.doInBackground(String ...)
不同
protected String doInBackground(String[] urls){
String result = "";
for (int i = 0; i <= 0; i++){
result = invokePost(urls[i], this.postData);
}
return result;
}
我知道为什么我会收到这个警告,但有没有解决方法来摆脱这个!?
答案 0 :(得分:2)
变化
protected String doInBackground(String[] urls)
到
protected String doInBackground(String... urls)
varargs意味着不同长度的参数,所以尽管你在接收端使用它就像一个数组,你提供如下的参数(如果你手动调用方法):
doInbackground(val1, val2, val3);
VS
doInbackground(new String[] { val1, val2, val3 });
作为一项规则,您可以在覆盖方法时始终查看超类型,以确保您匹配它的签名,以及其他许多其他有用的问题。只需确保安装了源代码。