为什么我的代码无法加载任何图像?

时间:2016-01-21 11:51:05

标签: android picasso

这是我从服务器加载图片的代码......出了什么问题? 应用程序无法加载任何东西并显示强制停止错误。我删除了部分代码,我确信这些工作...

public class MenuAdapter extends BaseAdapter{

    private LayoutInflater myInflater;


    private List<String> labelIDs = new ArrayList<String>();

    private List<String> imageIDs = new ArrayList<String>();
    public void setData(List<String> values, List<String> images){
        this.labelIDs = values;
        this.imageIDs = images;
    }

    public View getView(int position, View convertView, ViewGroup parent){
        ViewHolder holder;

        try {
            URL url = new URL("url"+imageIDs.get(position));
            Bitmap bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream());

            holder.ivIcon.setImageBitmap(bmp);
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        holder.tvLabel.setText(labelIDs.get(position));
        return convertView;
    }   

    static class ViewHolder {
        ImageView ivIcon;
        TextView tvLabel;
    }
} 

2 个答案:

答案 0 :(得分:0)

  

但我不知道如何用正确的术语替换上下文?

如果您是this的子类,则可以使用YourActivityName.thisActivity。如果您是getActivity()的子类,则可以使用Fragment。如果您所在的课程中您无法直接访问Context对象,则可以传递它,或者在您的情况下,您可以使用holder.ivIcon.getContext()

答案 1 :(得分:0)

context表示Activity.Activity的对象继承自Context Class。