毕加索只在BaseAdapter中加载一个图像

时间:2016-02-25 23:08:13

标签: android parse-platform baseadapter picasso

在BaseAdapter的getView()中,我使用URL和Picasso将图像加载到ImageView中。不幸的是,只加载了一个图像。这是getView()代码:

 @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        if (view == null) {
            LayoutInflater inflater = (LayoutInflater) mFragment.getActivity().getSystemService(Context
                    .LAYOUT_INFLATER_SERVICE);
            view = inflater.inflate(R.layout.layout_card, viewGroup, false);

        }


        Log.d("ParseUrl", mCardList.get(i).getProfilePictureFiles().get(0).getUrl());
        ImageView image = (ImageView) view.findViewById(R.id.image);

        Picasso.with(mFragment.getActivity()).load(mCardList.get(i).getProfilePictureFiles().get(0)
                .getUrl()).into(image);
        TextView name = (TextView) view.findViewById(R.id.name);
        name.setText(mCardList.get(i).getUser().getString(Keys.NAME_STR));

        return view;
    }

一些更奇怪的行为:如果我尝试将URL更改为静态imgur图像,则只加载2/3,当我刷新片段时,所有图像都会被加载,因为它们是缓存的。

1 个答案:

答案 0 :(得分:1)

当你从Parse Cloud中获取图像时,解析了一个时间解析线程,因此图像被加载但是进入了捕获内存所以总是使用Picasso Lib所以设置它的请求者,使用默认图像,如...

Picasso.with(mFragment.getActivity()).load(mCardList.get(i).getProfilePictureFiles().get(0).getUrl())                       .into(image).placeholder(R.drawable.ic_launcher);