Android AsyncTask (gibt eine ganze Zahl von doInBackground)

Bin ich immer die folgenden Fehler im code unten: Der return-Typ ist nicht kompatibel mit AsyncTask.onPostExecute(Integer). Ich bin versucht, das Ergebnis aus der http-Anforderung erfolgt in der doInBackground Aufgabe. Ich bekomme die Fehlermeldung: "Type mismatch: cannot convert from AsyncTask int-return-Anweisung für isAvailable. Ich fühle mich wie es ist etwas einfach, ich mache das nicht, aber ich kann nicht ganz herausfinden.

    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; 
        } 
  • Dies könnte völlig off-base (hey, ich bin in der Klasse gerade jetzt, ich bekomme einen pass, oder?) aber sollten Sie nicht return new Integer(0)?
  • Ja, aber es scheint, dass ich immer noch den gleichen Fehler.
InformationsquelleAutor user836200 | 2011-11-30
Schreibe einen Kommentar