Я получаю следующие ошибки в коде ниже: Тип возвращаемого значения несовместим с AsyncTask.onPostExecute (Integer).Я пытаюсь вернуть результат из http-запроса, выполненного в задаче doInBackground.Я получаю сообщение об ошибке: Несоответствие типов: невозможно преобразовать AsyncTask в int в операторе возврата для isAvailable.Я чувствую, что есть что-то простое, что я не делаю, но я не могу понять это.
public int isAvailable(int position) {
GetIsAvailable isAvail = new GetIsAvailable();
Integer nisAvail = isAvail.execute(position); // error is still here
return nisAvail;
}
private class GetIsAvailable extends AsyncTask<Integer,Void,Integer > {
@Override
protected Integer doInBackground(Integer...position) {
Bundle resBundle = new Bundle();
String url = "http://www.testurl.com"
+ position[0]+"&uname="+AppStatus.mUserName;
URL iuri;
try {
iuri = new URL(url);
URLConnection connection = iuri.openConnection();
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setUseCaches(false);
connection.setRequestProperty("Content-type",
"application/x-www-form-urlencoded");
BufferedReader br = new BufferedReader(new InputStreamReader(
(InputStream) connection.getContent()));
resBundle.putInt("isAvail", Integer.parseInt(br.readLine().trim()));
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return new Integer(0);
}
@Override
protected Integer onPostExecute(Integer isAvail) { // Main Error here
return isAvail;
}