2016-10-19 1 views
1

У меня была проблема с прокруткой с картой внутри RecyclerView. Там некоторые дополнительные пробелы, когда я прокручиваю внутри RecyclerView, вы можете увидеть его в этом формате GIF:Recyclerview Scrolling Glitch

Это мой адаптер. Это потому, что фрагмент или что?

public class PosItemAdapter extends RecyclerView.Adapter<PosItemAdapter.MyViewHolder> { 

    private List<Item> itemList; 
    private ArrayList<CartItem> cartList; 
    private Boolean isMixed = false; 

    public class MyViewHolder extends RecyclerView.ViewHolder { 
     public final View mView; 
     public ImageView picture; 
     public TextView name; 
     public TextView desc; 
     public TextView price; 

     public MyViewHolder(View view) { 
      super(view); 
      mView = view; 
      picture = (ImageView) view.findViewById(R.id.list_pos_item_picture); 
      name = (TextView) view.findViewById(R.id.list_pos_item_name); 
      price = (TextView) view.findViewById(R.id.list_pos_item_price); 

     } 
    } 

    public PosItemAdapter(ArrayList<Item> itemList, Boolean isMixed) { 
     this.itemList = itemList; 
     this.isMixed = isMixed; 
    } 

    public Item getValueAt(int position) { 
     return itemList.get(position); 
    } 

    @Override 
    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
     View itemView = LayoutInflater.from(parent.getContext()) 
       .inflate(R.layout.list_pos_item_layout, parent, false); 

     return new MyViewHolder(itemView); 
    } 

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


     holder.mView.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 


      } 
     }); 
    } 

    @Override 
    public int getItemCount() { 
     if (itemList != null) { 
      return itemList.size(); 
     } else { 
      return 0; 
     } 

    } 
} 
+0

Предоставить код –

+0

Поскольку я не могу сказать, правильно ли вы реализовали 'RecyclerView', я укажу вам на этот [документ] (https://developer.android.com/guide/topics/graphics /hardware-accel.html), взгляните на подсказки и подсказки внизу. Вы также можете попытаться отключить аппаратное ускорение в представлении и посмотреть, изменилось ли поведение. У всех устройств есть один и тот же артефакт? –

+0

У меня была аналогичная проблема, когда я использовал несколько анимаций для элементов. Вы пытались удалить анимацию? –

ответ

1

Решенный, проблема была в моей высоте карты. Я установил wrap_content и исправлен сбой.

+0

Будьте осторожны с набором карт для wrap_content. Если содержимое вашей карты изменяется, даже если размеры не отличаются друг от друга, это может привести к неожиданному прокрутке recyclerview. Попробуйте установить размер карты программно во время связывания. – CatalystNZ