2016-10-19 2 views
1

J'ai eu quelques problèmes de défilement avec la carte dans RecyclerView. Il quelques lacunes supplémentaires lorsque je fais défiler à l'intérieur du RecyclerView, vous pouvez le voir dans ce gif:Recyclerview Glitch Scrolling Glitch

Ceci est mon adaptateur. Est-ce parce que le fragment ou quoi?

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

fournir du code –

+0

Depuis que je ne peux pas dire si vous avez implémenté le 'RecyclerView' correctement, je vais vous diriger vers ce [document] (https://developer.android.com/guide/topics/graphics /hardware-accel.html), jetez un oeil aux Trucs et astuces en bas. Vous pouvez également essayer de désactiver l'accélération matérielle sur la vue et voir si le comportement change. Tous les appareils présentent-ils le même artefact? –

+0

J'ai eu un problème similaire lorsque j'utilisais peu d'animations pour les éléments. Avez-vous essayé de supprimer les animations? –

Répondre

1

Résolu, le problème était ma hauteur de carte. J'ai mis à wrap_content et le problème a été corrigé.

+0

Soyez prudent avec cardsize défini sur wrap_content. Si le contenu de votre carte change, même si les dimensions ne sont pas différentes, le recyclerview peut défiler de façon inattendue. Essayez de définir la hauteur de la carte par programme pendant la liaison. – CatalystNZ