发送接收图像解析服务器(Android)并以listview保持顺序填充

时间:2017-05-16 20:19:37

标签: android parse-server

在聊天应用程序中,我使用的是Parse服务器。我想发送文字和图片。 由于回叫方法,图像的接收顺序与发送到服务器的顺序不同。当通过callBAck方法完全检索图像时,我在listView中显示图像。这样,图像的顺序就会受到干扰。

在不同的聊天应用程序中,首先显示imageView&然后从服务器检索后显示图像。我想做那样的事。

1 个答案:

答案 0 :(得分:0)

首先,您必须确保通过recyclerview或视图持有者重复使用表格视图单元格。然后我建议你使用Picasso,这将真正降低处理图像和图像缓存的所有复杂性。

这是我在其中一个项目中的一个适配器中所做的:

 @Override
        public View getView(int position, View convertView, ViewGroup parent) {

            CoverImage coverImage = coverImages.get(position);

            ViewHolder holder;

            if (convertView == null) {
                holder = new ViewHolder();
                convertView = LayoutInflater.from(getContext()).inflate(R.layout.list_item_cover_image, parent, false);
                holder.nameTextView = (TextView) convertView.findViewById(R.id.coverImageNameTextView);
                holder.coverImageView = (ImageView) convertView.findViewById(R.id.coverImageView);
                convertView.setTag(holder);
            } else {
                holder = (ViewHolder) convertView.getTag();
            }

            holder.nameTextView.setText(coverImage.getName());

            com.tasksforce.honeydo.parse.model.CoverImage customCoverImage = User.currentUser().getCoverPhotoWithKey(coverImage.getKey());

            if (customCoverImage != null && customCoverImage.getImage() != null) {
                Picasso.with(getContext())
                        .load(customCoverImage.getImage()
                                .getUrl())
                        .into(holder.coverImageView);
            } else {
                try {
                    holder.coverImageView.setImageBitmap(ImageUtils.getBitmapFromAssets(getContext(), coverImage.getKey()));
                } catch (IOException e) {
                }
            }

            return convertView;
        }

从代码中可以看出,我重用了单元格,然后使用Picasso加载图像(我也使用parse-server,所以你的代码应该看起来很相似)