2016-10-19 98 views
1

我有一些关于在RecyclerView中使用卡片滚动的问题。还有一些额外的差距,当我滚动RecyclerView里面,你可以看到它在这个GIF:Recyclerview滚动故障

这是我的适配器。这是因为片段还是什么?

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',所以我会将你指向这个[document](https://developer.android.com/guide/topics/graphics /hardware-accel.html),请查看底部的提示和技巧。您也可以尝试禁用视图上的硬件加速,并查看行为是否发生变化。所有设备是否都显示相同的工件? –

+0

我在使用少量动画时遇到类似问题。你有没有尝试删除动画? –

回答

1

解决了,问题是我的卡片高度。我设置了wrap_content并修复了故障。

+0

将cardsize设置为wrap_content时要小心。如果您的信用卡内容发生变化,即使这些信息的尺寸不同,它可能会导致回收站视图意外滚动。尝试在绑定期间以编程方式设置卡片高度。 – CatalystNZ