Android Studio坚持认为我在doInBackground
中缺少返回值,即使它似乎被声明为Void
。我忽略了什么吗?
AsyncTask<Boolean, Void, Void> initiateConnection = new AsyncTask<WebSocketClient, Void, Void>() {
@Override
protected Void doInBackground(WebSocketClient ... clients) {
clients[0].connect();
}
@Override
protected void onPostExecute(Void result) {
Log.i(st, "Socket connected.");
}
};
initiateConnection.execute();
}
答案 0 :(得分:8)
Void
(大写V
)不是void
(小写v
)。使用void
,您可以“脱离方法的底部”。使用Void
,您需要显式返回一些内容,通常为null
。
答案 1 :(得分:2)
您需要返回null
protected Void doInBackground(WebSocketClient ... clients) {
clients[0].connect();
return null;
}