2017-05-16 8 views
0

チャットアプリケーションでは、Parseサーバを使用しています。私はテキストと画像を送りたい。 イメージは、コールバックメソッドのためにサーバーに送信されたのと同じ順序で受信されません。 callBAckメソッドを使用して画像を完全に取得するときにlistViewに画像を表示しています。そのため、画像の順序は乱されます。受信画像の送信サーバ(Android)を解析し、リストビューの保存順に入力する

異なるチャットアプリケーションでは、最初にimageViewが表示されます。&その後、サーバーからの取得後に画像が表示されます。私はそのようなことをしたい。

答えて

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; 
     } 

あなたがコードから見ることができるように、私は、細胞を再利用し、その後、私はまた、(画像をロードするためにピカソを使用あなたのコードが同様に見えるようにparse-serverを使用してください)

関連する問題