2016-07-15 10 views
0

ちょっとみんなは私がthisthisthis以上を発見したGoogleでこの問題を探していますvauleを複製、私の画像が、その同じ時間を表示するためのrecyclerviewを使用してイム誰もがRecyclerView複製項目

を支援されていないいくつかの時間私のコードは、私はあなたがそれを聞いたことがあるかもしれない疑い

ShareDialog shareDialog; 
String PATH; 
String link , img_txt; 
private ImageLoader imageLoader; 
private Context context; 
String url1; 
CallbackManager callbackManager; 
File file1; 
List<ImgModel> listmodel; 
    public ImageAdapter(List<ImgModel> listmodel, Context context) { 
    super(); 
    this.listmodel = listmodel; 
    this.context = context; 
    setHasStableIds(true); //added 15/7/2016 
} 
    @Override 
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
     View v = LayoutInflater.from(parent.getContext()) 
     .inflate(R.layout.img_row, parent, false); 
    ViewHolder viewHolder = new ViewHolder(v); 
    return viewHolder; 
    } 

    @Override 
    public void onBindViewHolder(ViewHolder holder, final int position) { 

    ImgModel model = listmodel.get(position); 
    imageLoader = CustomVolleyRequest.getInstance(context).getImageLoader(); 
    imageLoader.get(model.getImageUrl(), ImageLoader.getImageListener(holder.imageView, R.drawable.placeholder, android.R.drawable.ic_dialog_alert)); 
    holder.imageView.setImageUrl(model.getImageUrl(), imageLoader); 
    holder.textViewName.setText(model.getName()); 
    holder.imageView.setOnLongClickListener(new View.OnLongClickListener() { 
    @Override 
    public boolean onLongClick(View v) { 
     link = listmodel.get(position).getImageUrl(); 
     img_txt = listmodel.get(position).getName(); 
     String fileExtension = link.substring(link.lastIndexOf("/")); 
     Log.e("0_0","===>"+fileExtension); 
     String dir = Environment.getExternalStorageDirectory() + "/Download/myapp/"; 
     file1 = new File(dir+fileExtension); 
     Log.d("file is ","longclick"+file1); 
     if (file1.exists()) { 
      Intent shareIntent = new Intent(); 
      shareIntent.setAction(Intent.ACTION_SEND); 
      shareIntent.setType("image/jpg"); 
      shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File(String.valueOf(file1)))); 
      shareIntent.putExtra(Intent.EXTRA_TEXT, img_txt); 
      context.startActivity(Intent.createChooser(shareIntent, "Share image with")); 
     } else { 
      new DownloadFile().execute(link); 
     } 
     return true; 
    } 
    }); 
    holder.imageView.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
    url1 = listmodel.get(position).getImageUrl(); 
    Log.e("Hey Amit", "second is url" + url1); 
    Imagefull(); 
    } 
    }); 
    } 
@Override 
public int getItemCount() { 
    return listmodel.size(); 
    } 

public long getItemId(int position) { 
    return position; 
} 

class ViewHolder extends RecyclerView.ViewHolder { 
    public NetworkImageView imageView; 
    public TextView textViewName; 

    public ViewHolder(View itemView) { 
    super(itemView); 
    imageView = (NetworkImageView) itemView.findViewById(R.id.imageView_img); 
    textViewName = (TextView) itemView.findViewById(R.id.textview_img); 
    callbackManager = CallbackManager.Factory.create(); 
    } 
} 

image is here

+0

を私はイメージがあるとき、それは重複した画像をそういえばすっかり忘れていると思います – Drv

+0

その複製はありませんが、その時間URLはまた私のコードをデバッグしてください –

答えて

0

あるsetHasStableIds(true)あなたのrecyclerviewsをスピードアップしますが、削除するかfalseに設定してみてください。

ので、単純にこれを試してみてください。

setHasStableIds(false); 

その後、私は何が起こるかを知ってみましょう。

私はこの問題を抱えていましたが、アイテムが重複して表示されないことがありました。そのメソッド呼び出しを削除した後、問題が修正されました。

幸運と幸せなコーディング!代わりにmatch_content

+0

返事に感謝しますが、それは時々重複値を与えますが、その偽はその都度与えます理由 –

+0

ただそのメソッドを削除してください何が起こるかを完全に見て、私に教えてください – Eenvincible

3

の変更高さ以下であなたの上記の行を置き換えます

public class ImageAdapter extends RecyclerView.Adapter<ImageAdapter.ViewHolder> { 

    @Override 
public ImageAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
    View v = LayoutInflater.from(parent.getContext()) 
    .inflate(R.layout.img_row, parent, false); 
ImageAdapter.ViewHolder viewHolder = new ImageAdapter.ViewHolder(v); 
return viewHolder; 
} 

@Override 
public void onBindViewHolder(final ImageAdapter.ViewHolder holder, final int position) { 

ImgModel model = listmodel.get(holder.getAdapterPosition() 
    ); 
........... 
.............. 
} 

} 
+0

それは私の値を伸ばして –

0

のwrap_contentとしてレイアウト((R.layout.img_row)で

+0

@ダンプ脳それはあなたを助けますか? – Drv

関連する問題