2015-03-13 4 views
0

У меня есть gridview и вам нужно скачать изображения в gridview. Когда я открываю приложение, я не вижу никаких изображений, но думаю, что мой код как-то прав. Как это исправить? Я использую этот код в моем адаптере:GridView Изображения не загружаются

// create a new ImageView for each item referenced by the Adapter 
public View getView(int position, View convertView, ViewGroup parent) { 
    ImageView imageView; 
    if (convertView == null) { // if it's not recycled, initialize some attributes 
     //float wd = 250/Resources.getSystem().getDisplayMetrics().density; 
     //float hg = 300/Resources.getSystem().getDisplayMetrics().density; 
     int pxwd = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, 90, Resources.getSystem().getDisplayMetrics()); 
     int pxhg = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, 120, Resources.getSystem().getDisplayMetrics()); 
     imageView = new ImageView(context); 
     imageView.setLayoutParams(new GridView.LayoutParams(pxwd, pxhg)); 
     imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
     imageView.setPadding(8, 8, 8, 8); 
    } else { 
     imageView = (ImageView) convertView; 
    } 
    imageView.setImageDrawable(LoadImageFromURL(GridViewConfig.getImage_list().get(position))); 
    return imageView; 
} 


// references to our images 
private Drawable LoadImageFromURL(String url) 
{ 
    try { 
     InputStream is = (InputStream) new URL(url).getContent(); 
     return Drawable.createFromStream(is, "src"); 
    } catch (Exception e) { 
     return null; 
    } 
} 

и вот список URL:

public class GridViewConfig { 
public static ArrayList<String> image_listGrid = new ArrayList<String>(); 

public static ArrayList<String> getImage_list() { 
    return image_listGrid; 
} 

public static void setImage_list(ArrayList<String> image_list) { 
    GridViewConfig.image_listGrid = image_list; 
} 

public static void addImageUrls(){ 
    image_listGrid.add("someimage.jpg"); 
} 

Но проблема в том, изображение не показывается на моей GridView.

+0

Вы можете сначала подтвердить, загружаются ли изображения или нет. – Fahim

+0

использовать пикассо для загрузки изображений. –

ответ

0

В вашем getView(...), вы должны использовать TypedValue.COMPLEX_UNIT_DIP заменяет TypedValue.COMPLEX_UNIT_SP:

int pxwd = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 90, Resources.getSystem().getDisplayMetrics()); 
int pxhg = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 120, Resources.getSystem().getDisplayMetrics()); 

Надеется, что это поможет!

+0

нет, это не решение. Это не имеет значения, DIP или SP. – Werasu

+0

Вы пробовали? – Xcihnegn

+0

Да, у меня есть. И ничего не изменилось. – Werasu

Смежные вопросы