Android 在RecyclerView中滚动无法正常工作
我使用的是Android 在RecyclerView中滚动无法正常工作,android,Android,我使用的是RecyclerView,我知道它有很好的滚动效率。在我的代码中,我使用RecyclerView填充数据。但是我的滚动不正常。从一个单元格切换到另一个单元格时卡住。这是我的密码。Iam使用LinearLayoutManager public class CustomAdapter extends RecyclerView.Adapter<CustomAdapter.ViewHolder> { private Context context; private
RecyclerView
,我知道它有很好的滚动效率。在我的代码中,我使用RecyclerView
填充数据。但是我的滚动不正常。从一个单元格切换到另一个单元格时卡住。这是我的密码。Iam使用LinearLayoutManager
public class CustomAdapter extends RecyclerView.Adapter<CustomAdapter.ViewHolder> {
private Context context;
private List<DataList> openItems;
public CustomAdapter(Context context, List<DataList> openItems) {
this.context = context;
this.openItems = openItems;
}
@Override
public CustomAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.test_layout, parent, false);
ViewHolder viewHolder = new ViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(CustomAdapter.ViewHolder holder, int position) {
if (position % 2 == 0) {
holder.linearLayout.setBackgroundColor(context.getResources().getColor(android.R.color.holo_blue_light));
} else {
holder.linearLayout.setBackgroundColor(context.getResources().getColor(android.R.color.holo_green_light));
}
holder.workstationPk.setText(String.valueOf(openItems.get(position).getWorkstationPk()));
holder.supplier.setText(openItems.get(position).getSupplier());
holder.quantity.setText(openItems.get(position).getQuantity());
holder.description.setText(openItems.get(position).getDescription());
holder.partNo.setText(String.valueOf(openItems.get(position).getPartNo()));
holder.forecastDate.setText(String.valueOf(openItems.get(position).getForecastDate()));
holder.carType.setText(openItems.get(position).getCarType());
holder.hours.setText(openItems.get(position).getHours());
holder.custodianName.setText(openItems.get(position).getCustodianName());
holder.function.setText(openItems.get(position).getFunction());
holder.priority.setText(openItems.get(position).getPriority());
holder.comment.setText(openItems.get(position).getComment());
holder.categoryDisplayText.setText(openItems.get(position).getCategoryDisplayText());
holder.subcategoryDisplayText.setText(openItems.get(position).getSubcategoryDisplayText());
holder.disposition.setText(openItems.get(position).getDisposition());
holder.reworkOrder.setText(openItems.get(position).getReworkOrder());
holder.resourceRequirement.setText(openItems.get(position).getResourceRequirement());
}
@Override
public int getItemCount() {
return openItems.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
private EditText workstationPk;
private EditText supplier;
private EditText quantity;
private EditText description;
private EditText partNo;
private EditText forecastDate;
private EditText carType;
private EditText hours;
private EditText custodianName;
private EditText function;
private EditText priority;
private EditText categoryDisplayText;
private EditText subcategoryDisplayText;
private EditText comment;
private EditText disposition;
private EditText reworkOrder;
private EditText resourceRequirement;
private TextView workstationPkTextView;
private TextView supplierTextView;
private TextView quantityTextView;
private TextView descriptionTextView;
private TextView partNoTextView;
private TextView forecastDateTextView;
private TextView carTypeTextView;
private TextView hoursTextView;
private TextView custodianNameTextView;
private TextView functionTextView;
private TextView priorityTextView;
private TextView categoryDisplayTextTextView;
private TextView subcategoryDisplayTextTextView;
private TextView commentTextView;
private TextView dispositionTextView;
private TextView reworkOrderTextView;
private TextView resourceRequirementTextView;
private LinearLayout linearLayout;
public ViewHolder(View itemView) {
super(itemView);
workstationPk = (EditText) itemView.findViewById(R.id.workstationPk);
supplier = (EditText) itemView.findViewById(R.id.supplier);
quantity = (EditText) itemView.findViewById(R.id.quantity);
description = (EditText) itemView.findViewById(R.id.description);
partNo = (EditText) itemView.findViewById(R.id.partNo);
forecastDate = (EditText) itemView.findViewById(R.id.forecastDate);
carType = (EditText) itemView.findViewById(R.id.carType);
hours = (EditText) itemView.findViewById(R.id.hours);
custodianName = (EditText) itemView.findViewById(R.id.custodianName);
function = (EditText) itemView.findViewById(R.id.function);
priority = (EditText) itemView.findViewById(R.id.priority);
categoryDisplayText = (EditText) itemView.findViewById(R.id.categoryDisplayText);
subcategoryDisplayText = (EditText) itemView.findViewById(R.id.subcategoryDisplayText);
comment = (EditText) itemView.findViewById(R.id.comment);
disposition = (EditText) itemView.findViewById(R.id.disposition);
reworkOrder = (EditText) itemView.findViewById(R.id.reworkOrder);
resourceRequirement = (EditText) itemView.findViewById(R.id.resourceRequirement);
workstationPkTextView = (TextView) itemView.findViewById(R.id.workstationPkTextView);
supplierTextView = (TextView) itemView.findViewById(R.id.supplierTextView);
quantityTextView = (TextView) itemView.findViewById(R.id.quantityTextView);
descriptionTextView = (TextView) itemView.findViewById(R.id.descriptionTextView);
partNoTextView = (TextView) itemView.findViewById(R.id.partNoTextView);
forecastDateTextView = (TextView) itemView.findViewById(R.id.forecastDateTextView);
carTypeTextView = (TextView) itemView.findViewById(R.id.carTypeTextView);
hoursTextView = (TextView) itemView.findViewById(R.id.hoursTextView);
custodianNameTextView = (TextView) itemView.findViewById(R.id.custodianNameTextView);
functionTextView = (TextView) itemView.findViewById(R.id.functionTextView);
priorityTextView = (TextView) itemView.findViewById(R.id.priorityTextView);
categoryDisplayTextTextView = (TextView) itemView.findViewById(R.id.categoryDisplayTextTextView);
subcategoryDisplayTextTextView = (TextView) itemView.findViewById(R.id.subcategoryDisplayTextTextView);
commentTextView = (TextView) itemView.findViewById(R.id.commentTextView);
dispositionTextView = (TextView) itemView.findViewById(R.id.dispositionTextView);
reworkOrderTextView = (TextView) itemView.findViewById(R.id.reworkOrderTextView);
resourceRequirementTextView = (TextView) itemView.findViewById(R.id.resourceRequirementTextView);
linearLayout = (LinearLayout) itemView.findViewById(R.id.linearLayout);
}
}
}
公共类CustomAdapter扩展了RecyclerView.Adapter{
私人语境;
私人物品清单;
公共CustomAdapter(上下文,列出openItems){
this.context=上下文;
this.openItems=openItems;
}
@凌驾
public CustomAdapter.ViewHolder onCreateViewHolder(视图组父级,int-viewType){
View=LayoutFlater.from(parent.getContext()).flate(R.layout.test\u布局,parent,false);
ViewHolder ViewHolder=新的ViewHolder(视图);
返回视图持有者;
}
@凌驾
public void onBindViewHolder(CustomAdapter.ViewHolder,int位置){
如果(位置%2==0){
setBackgroundColor(context.getResources().getColor(android.R.color.holo_blue_light));
}否则{
setBackgroundColor(context.getResources().getColor(android.R.color.holo_green_light));
}
holder.workstationPk.setText(String.valueOf(openItems.get(position.getWorkstationPk());
holder.supplier.setText(openItems.get(position.getSupplier());
holder.quantity.setText(openItems.get(position.getQuantity());
holder.description.setText(openItems.get(position.getDescription());
holder.partNo.setText(String.valueOf(openItems.get(position.getPartNo());
holder.forecastDate.setText(String.valueOf(openItems.get(position.getForecastDate());
holder.carType.setText(openItems.get(position.getCarType());
holder.hours.setText(openItems.get(position.getHours());
holder.CUSTONDERNAME.SETEXT(openItems.get(position.getCUSTONDERNAME());
holder.function.setText(openItems.get(position.getFunction());
holder.priority.setText(openItems.get(position.getPriority());
holder.comment.setText(openItems.get(position.getComment());
holder.categoryDisplayText.setText(openItems.get(position.getCategoryDisplayText());
holder.Subcategory DisplayText.setText(openItems.get(position.GetSubcategory DisplayText());
holder.disposition.setText(openItems.get(position.getDisposition());
holder.reworkOrder.setText(openItems.get(position.getReworkOrder());
holder.resourceRequirement.setText(openItems.get(position.getResourceRequirement());
}
@凌驾
public int getItemCount(){
返回openItems.size();
}
公共类ViewHolder扩展了RecyclerView.ViewHolder{
私有EditText workstationPk;
私人编辑文本供应商;
私人编辑文本数量;
私有文本描述;
私人编辑文本部分号;
私人编辑文本预测日期;
私有编辑文本类型;
私人编辑时间;
私人文本保管人姓名;
专用编辑文本功能;
私密文本优先权;
私有EditText类别显示文本;
私有EditText子类别DisplayText;
私人编辑文本评论;
私人编辑文本处理;
私人编辑文本修改顺序;
私人编辑文本资源需求;
私有TextView workstationPkTextView;
私有TextView供应商TextView;
私有文本视图quantityTextView;
私有文本视图descriptionTextView;
私有文本视图partNoTextView;
私有文本视图forecastDateTextView;
私有文本视图carTypeTextView;
私有文本视图小时文本视图;
私有文本视图保管人名称文本视图;
私有文本视图功能文本视图;
私有文本视图优先权文本视图;
私有文本视图类别显示文本视图;
私有文本视图子类别DisplayTextView;
私有文本视图评论文本视图;
私有文本视图配置文本视图;
私有文本视图reworkOrderTextView;
私有文本视图资源需求文本视图;
私人线性布局线性布局;
公共视图持有者(视图项视图){
超级(项目视图);
workstationPk=(EditText)itemView.findViewById(R.id.workstationPk);
supplier=(EditText)itemView.findViewById(R.id.supplier);
quantity=(EditText)itemView.findViewById(R.id.quantity);
description=(EditText)itemView.findViewById(R.id.description);
partNo=(EditText)itemView.findViewById(R.id.partNo);
forecastDate=(EditText)itemView.findViewById(R.id.forecastDate);
carType=(EditText)itemView.findViewById(R.id.carType);
小时=(EditText)itemView.findViewById(R.id.hours);
保管人姓名=(EditText)itemView.findViewById(R.id.ConstitutionName);
function=(EditText)itemView.findViewById(R.id.function);
优先级=(EditText)itemView.findViewById(R.id.priority);
categoryDisplayText=(EditText)itemView.findViewById(R.id.categoryDisplayText);
Subcategory DisplayText=(EditText)itemView.findViewById(R.id.Subcategory DisplayText);
comment=(EditText)itemView.findViewById(R.id.comment);
disposition=(EditText)itemView.findViewById(R.id.disposition);
reworkOrder=(EditText)itemView.findViewById(R.id.reworkOrder);
resourceRequirement=(EditText)itemView.findViewById(R.id.resourceRequirement);
workstationPkTextView=(TextView)itemView.findViewById(R.id.workstationPkTextView);
supplierTextView=(TextView)itemView.findViewById(R.id.supplierTextView);
quantityTextView=(TextView)itemView.findViewById(R.id.quantityTextView);