Я использую загрузчик изображений для отображения изображения и текста из разбора json. текст отображается, но изображение не отображается. Нет ошибки, но отображается значок по умолчанию. кто-нибудь, пожалуйста, помогите мне, почему изображение не отображается. Мой код выглядит следующим образом:Изображение не отображается при использовании загрузчика изображений android
public class GridAdapter extends ArrayAdapter<Persons> {
ArrayList<Persons> personList;
LayoutInflater layoutInflater;
int Resource;
ViewHolder viewHolder;
ImageLoader imageLoader; // declared image laoder
public GridAdapter(Context context, int resource, ArrayList<Persons> objects) {
super(context, resource, objects);
layoutInflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
Resource = resource;
personList = objects;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return super.getCount();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v= convertView;
imageLoader = new ImageLoader(getContext()); // since thrown null pointer exception when i declared this, it's not declaring null pointer exception but image is not displaying, default icon set in ImageLoader is displaying..
if(v==null){
viewHolder = new ViewHolder();
v = layoutInflater.inflate(Resource, null);
viewHolder.tvName=(TextView)v.findViewById(R.id.tvname);
viewHolder.imageview=(ImageView)v.findViewById(R.id.picture);
v.setTag(viewHolder);
}
else{
viewHolder = (ViewHolder) v.getTag();
}
viewHolder.tvName.setText(personList.get(position).getName());
imageLoader.DisplayImage(personList.get(position).getImage(),viewHolder.imageview);// this is not working..
// TODO Auto-generated method stub
return v;
}
static class ViewHolder {
public ImageView imageview;
public TextView tvName;
}
}
Примечание:
, если я использую это,
частный класс DownloadImageTask расширяет AsyncTask { ImageView bmImage;
public DownloadImageTask(ImageView bmImage) {
this.bmImage = bmImage;
}
protected Bitmap doInBackground(String... urls) {
String urldisplay = urls[0];
Bitmap mIcon11 = null;
try {
InputStream in = new java.net.URL(urldisplay).openStream();
mIcon11 = BitmapFactory.decodeStream(in);
} catch (Exception e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return mIcon11;
}
protected void onPostExecute(Bitmap result) {
bmImage.setImageBitmap(result);
}
}
и установить в ImageView в
new DownloadImageTask(holder.imageview).execute(actorList.get(position).getImage());
он работает .. но каждый раз, когда я прокручиваю вниз и двигаться вверх, изображение получает загружены. Мне нужно отобразить в кеше. поэтому я использовал загрузчик изображений. Но он не отображает изображения.
проверить URL-адрес изображения может быть неправильным или проверить разрешение сети в вашем проекте –
@NaveenTamrakar я дал разрешения. пожалуйста, проверьте мои изменения. – Star
Попробуйте 'imageLoader = ImageLoader.getInstance(); imageLoader.init(); 'и поместите это на конструктор адаптера. –