0
在聊天應用程序中,我使用的是Parse服務器。我想發送文字和圖像。 由於回撥方法,圖像未按照發送到服務器的順序接收。當通過callBAck方法完全檢索圖像時,我在listView中顯示圖像。因此,圖像的順序受到干擾。發送接收圖像解析服務器(Android)並在listview保存命令中填充
在不同的聊天應用程序中,首先顯示imageView &然後在從服務器檢索後顯示圖像。我想要做那樣的事情。
在聊天應用程序中,我使用的是Parse服務器。我想發送文字和圖像。 由於回撥方法,圖像未按照發送到服務器的順序接收。當通過callBAck方法完全檢索圖像時,我在listView中顯示圖像。因此,圖像的順序受到干擾。發送接收圖像解析服務器(Android)並在listview保存命令中填充
在不同的聊天應用程序中,首先顯示imageView &然後在從服務器檢索後顯示圖像。我想要做那樣的事情。
首先,您必須確保您通過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;
}
正如你可以從代碼中看到,我重用細胞,然後我用畢加索加載圖像(我也使用parse-server,所以你的代碼應該看起來很相似)