2016-12-19 117 views
0

我找到了this tutorial「如何在Android中通過URL加載ImageView」,這對我來說工作正常,但在我的情況下,我不想只設置一些圖像,但然後,我有一個Api RestFull,它返回一些字符串和圖像URL,正如我在該教程中看到的,它使用AsyncTask下載圖像並在ImageView中設置,在我的情況下,我已經使用AsyncTask從我的API,我需要把我的ModelClass內的東西自動下載?如何通過URL在ImageView中設置圖像Android

這是我...

public void getAdsUser(final Activity context){ 
    new AsyncTask<Void, Void, String>() { 
     @Override 
     protected void onPreExecute() { 
      super.onPreExecute(); 
     } 
     @Override 
     protected String doInBackground(Void... voids) { 
      try { 
       Response = new WebBase().getUserAds(context); 
       if(Response.equals("NODATA")){ 
        return "NODATA"; 
       } 
       if (Response.equals("EMPTY")){ 
        return "EMPTY"; 
       } 
       if (Response.isEmpty()){ 
        return "ERROR"; 
       } 
       else { 
        return "OK"; 
       } 
      } catch (IOException e) { 
       e.printStackTrace(); 
       return "ERROR"; 
      } 
     } 
     @Override 
     protected void onPostExecute(String s) { 
      super.onPostExecute(s); 
      switch (s){ 
       case "NODATA": 
        GenericAlertDialog.MakeDialog(UserAds.this,R.string.NODATA); 
        break; 
       case "ERROR": 
        GenericAlertDialog.MakeDialog(UserAds.this,R.string.Error_Internet); 
        break; 
       case "EMPTY": 
        isVisible_ads.setVisibility(View.VISIBLE); 
        break; 
       case "OK": 
        UserModelView[] modelArray = new Gson().fromJson(Response,UserModelView[].class); 
        List<UserModelView> userModelView = new ArrayList<>(Arrays.asList(modelArray)); 
        adapterUserView.add(userModelView); 
        recyclerView.setAdapter(adapterUserView); 
        break; 
      } 
     } 
    }.execute(); 
} 

謝謝!

+0

使用滑動。 - https://github.com/bumptech/glide –

回答

4

讓您的生活更輕鬆,並使用畢加索。

加載圖像可以是一個簡單的襯墊

Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView);

查看更多現場 http://square.github.io/picasso/

+0

我推薦同樣的東西的方式是一半。 –

+0

你可以幫我使用我的適配器嗎?我的適配器和平時有些不同。 –

1

下面就爲爲什麼用畢加索是什麼斯蒂芬提出一個更好的解決方案的一些補充。有很多事情需要考慮,比如記憶,緩存等等。只要你編程正確,Picasso爲你處理所有的辛苦工作,而且它非常簡單易用。

2

您必須在您的項目中添加Picasso庫並編寫這樣的代碼。

Picasso.with(context).load("image url").into("ImageView where you have to load image"); 
相關問題