2015-01-20 48 views
0

我已經放大了圖像的代碼片,這將圖像放入佈局並顯示它。 問題是,它適用於某些圖片,但其他人返回的錯誤是null但爲什麼,如果它適用於某些爲什麼不適用於所有?在Android(AlertDialog)中的完整圖像顯示

public static void ImagemEmGrande(boolean state, Activity a, int layout, String url) throws MalformedURLException, IOException{ 
     ProgressBar.progressBar(state, a, layout); 
     ImageView iv = (ImageView)ProgressBar.view.findViewById(R.id.id_iv_preview); 
     Bitmap bitmap = BitmapFactory.decodeStream((InputStream)new URL(url).getContent()); 
     iv.setImageBitmap(bitmap); 
     iv.setAdjustViewBounds(true); 
    } 

「進度」(這工作正常)

private static Activity activity; 
private static AlertDialog.Builder builder; 
private static AlertDialog alerta; 
public static View view; 

public static void progressBar(boolean state, Activity a, int layout){ 

    activity = a; 

    builder = new AlertDialog.Builder(activity); 
    if (state){   
     LayoutInflater inflater = activity.getLayoutInflater(); 
     builder.setView(view = inflater.inflate(layout, null)); 
     builder.create(); 
     alerta = builder.show(); 
    } else { 
     alerta.dismiss(); 
    } 
} 

回答

0

BitmapFactory.decodeStream()。對於某些圖像,您有BitmapFactory無法將它們轉換爲位圖。因此,BitmapFactory返回null和設置圖像爲null是什麼都不顯示。嘗試查看這些是否是瀏覽器中真實的位圖。

轉到url你有(InputStream)new URL(url).getContent()在瀏覽器中或以某種方式,看看裏面有什麼了

+0

我可以在tablelayout顯示他們,但他們中的一些,當我點擊並打開的警告對話框中看到他們更大,它不會顯示!是空的,並返回我趕,說null(我把這個null關聯到imageview <也許) – Severiano 2015-01-20 21:26:49

+0

如果你可以顯示他們在android的一個地方,不能在其他地方你必須調試。可能以某種方式來到另一個地方。 – 2015-01-20 21:28:32