2011-09-21 63 views
-8

我認爲這段代碼有問題。有人可以檢查代碼中是否有錯誤嗎?Java/Android:AsyncTask類型的參數數量不正確

 ImageView userPicture = (ImageView) findViewById(R.id.userPicture); 

    private synchronized void downloadAvatar(){ 
     AsyncTask <Bitmap> task = new AsyncTask <Bitmap>(){ 

      @Override 
      public void onPreExecute() { 
       //Do nothing 
      } 

      @Override 
      public Bitmap doInBackground() { 
       URL fbAvatarUrl = null; 
       Bitmap fbAvatarBitmap = null; 
       try { 
        fbAvatarUrl = new URL("http://graph.facebook.com/"+userID+"/picture"); 
        fbAvatarBitmap = BitmapFactory.decodeStream(fbAvatarUrl.openConnection().getInputStream()); 
       } catch (MalformedURLException e) { 
        e.printStackTrace(); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
       return fbAvatarBitmap; 
      } 

      @Override 
      public void taskComplete(Bitmap result) { 
       fbUserAvatar.setImageBitmap(result); 
      } 

     }; 
     task.execute(); 
    } 

我發現了一個錯誤的行與此代碼:

AsyncTask <Bitmap> task = new AsyncTask <Bitmap>() 

的錯誤信息是:

的類型參數的AsyncTask數目不正確;它不能用參數參數化

+8

「我在閱讀問題時出現錯誤」 – richardwiden

+1

請給我們指定的行上出現什麼錯誤。這會讓生活更容易理解這個問題。另外,當問這類問題時,請儘量提交最少量的代碼來理解目的。它編譯也很好。 –

+0

描述\t資源\t路徑\t位置\t類型 類型AsyncTask的參數數量不正確;它不能被參數化參數 \t ProfileActivity.java \t/code/src/com/marakana/tutomaps \t line 203 \t Java問題 –

回答

4

AsyncTask需要三個參數:參數,進度和結果。它應該是AsyncTask< Bitmap, Void, Void >你的情況;和doInBackground應採取Bitmap... args

+0

我複製了這個問題的答案,它不起作用。 「http://stackoverflow.com/questions/4461150/android-and-facebook-how-to-get-picture-of-logged-in-user」I getting error描述\t資源\t路徑\t位置\t類型 錯誤的數量AsyncTask類型的參數;它不能與參數 \t ProfileActivity.java \t /代碼/ src目錄/ COM/marakana/tutomaps \t線203 \t的Java問題 –

+0

@PatrikAxelsson在[您使用的答案](代碼http://stackoverflow.com/a進行參數化/ 4461736/648313)包含錯誤。我剛剛編輯它以使其可編輯,並留下描述錯誤原因的評論。 – Idolon