1

내가 개발 중이며 사용자가 recyclerview에 게시물을 표시해야합니다 ... 모든 데이터가 올바르게 표시되지만 스크롤 후 내 recyclerview 사진이 엉망이되어 한 장의 사진이 두 번 표시됩니다 ... 내 목록에있는 다른 엉망진창들.recyclerview android 믹스 데이터 그림 스크롤

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




Picasso.with(context). 

     load(imageThumbList.get(position) 

     ). 

     into(ivimage); 

igetPositionImage.getPosition(position); 




     /*imageLoader.DisplayImage(imageThumbList.get(position), ivimage);*/ 
count_like.setText(likeCounts.get(position)); 

내 조각에서의 내 호출 재활용보기 : 여기 recyclerview 내 onbind보기 홀더 RecyclerView.Adapter 연장

private void setImageGridAdapter() { 
    recyclerView = (RecyclerView) getView().findViewById(R.id.recycler_view); 
    RecyclerView.LayoutManager mLayoutManager = new GridLayoutManager(getActivity(),3); 
    recyclerView.setLayoutManager(mLayoutManager); 

    recyclerView.addItemDecoration(new GridSpacingItemDecoration(1, dpToPx(1), true)); 
    recyclerView.setItemAnimator(new DefaultItemAnimator()); 
    RecycleListAdapter recycleListAdapter = new RecycleListAdapter(getActivity(),imageThumbList , likeCounts ,LikeGetterF.this); 
    recyclerView.setAdapter(recycleListAdapter); 
    Paginate.with(recyclerView , callbacks) 
      .setLoadingTriggerThreshold(2). 
        addLoadingListItem(true). 
        setLoadingListItemCreator(new RecycleListAdapter(getActivity(),imageThumbList,likeCounts,LikeGetterF.this)) 
      .setLoadingListItemSpanSizeLookup(new RecycleListAdapter(getActivity(),imageThumbList,likeCounts,LikeGetterF.this)) 
      .build(); 

    //gvAllImages.setAdapter(new MyGridListAdapter(context,imageThumbList)); 
} 

내 XML 코드 :

> <?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:id="@+id/all_media_files" 
    > 

    <!-- <ListView --> 
    <!-- android:id="@+id/lvImages" --> 
    <!-- android:layout_width="fill_parent" --> 
    <!-- android:layout_height="wrap_content" > --> 
    <!-- </ListView> --> 

    <android.support.v7.widget.RecyclerView 
     android:id="@+id/recycler_view" 
     android:background="#AFAFAFAF" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:clipToPadding="true" 
     android:scrollbars="horizontal" /> 

</LinearLayout> 

및 내 항목 어댑터 xml :

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:card_view="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="8dp" 
    android:layout_marginTop="20dp" 
    > 



     <FrameLayout 
      android:layout_width="100dp" 
      android:layout_height="100dp" 
      > 

     <ImageView 
      android:id="@+id/ivImage" 
      android:layout_width="100dp" 
      android:layout_height="100dp" 
      android:clickable="true" 
      android:scaleType="fitCenter" 
      android:src="@drawable/profile" 
      /> 


       <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:orientation="horizontal" 
        android:layout_gravity="bottom" 
        android:background="#AFAFAFAF" 
        > 

       <ImageView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="bottom" 
        android:src="@drawable/like_red" 
        android:id="@+id/like_img" 
        /> 

       <TextView 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_gravity="bottom|right" 
        android:text="0" 
        android:gravity="right" 
        android:textColor="@color/textColorPrimary" 
        android:textSize="@dimen/buttonSizes" 
        android:id="@+id/like_count" 

        /> 

       </LinearLayout> 
     </FrameLayout> 
     <!-- android:background="@drawable/char_02"--> 



</LinearLayout> 
,210

답변

0

INT adapterPos holder.getAdapterPosition =() {(INT 위치 RecyclerView.ViewHolder 홀더) 바인드 홀더 위치를

공개 무효 onBindViewHolder을 최종 분리;

Picasso.with (context).

load(imageThumbList.get(adapterPos) 

    ). 

    into(ivimage); 

igetPositionImage.getPosition (position);

holder.setIsRecyclable (false);

/*imageLoader.DisplayImage(imageThumbList.get(position), ivimage);*/ 

count_like.setText (likeCounts.get (position));

그리고 bindView holder의 모든 곳에서 adapterPos를 사용하십시오.