我一直在开发一个列表视图,在列表视图(卡片视图)的每一行上都有一个水平的scrool视图,我在scrool视图上添加了一些视图(动态视图)(这是动态的,每行视图的计数是不同的)但是当我在scrool下或上Adapter时在scrool视图上添加额外的视图(例如,它应添加2个视图并添加,但是在scrool上或下时它也添加2个extara视图)
我不知道该如何解决这个问题。
我的代码:
@Override
public void onBindViewHolder(SicknessResulteHolder holder, int position) {
//Use the provided View Holder on the onCreateViewHolder method to populate the current row on the RecyclerView
/**********************************************************************************************************/
List<String> user_symptoms = new ArrayList<String>();
for (int i = 0 ; i<frag_recognize_1.list.size() ; i++){
for (int j = 0 ; j< list.get(position).user_symptoms.size() ; j++){
if (list.get(position).user_symptoms.get(j) == frag_recognize_1.list.get(i).getSymptoms_id()){
user_symptoms.add(frag_recognize_1.list.get(i).getTitle());
}
}
}
/**********************************************************************************************************/
if (list.get(position).addView){
for (int i = 0 ; i < list.get(position).user_symptoms.size() ; i++){
LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
LinearLayout linearLayout = (LinearLayout) inflater.inflate(R.layout.symptoms_row,null,false);
TextView textView = (TextView) linearLayout.findViewById(R.id.textView);
textView.setText(String.valueOf(user_symptoms.get(i)));
textView.setTextColor(Color.WHITE);
holder.scrollSymptoms.addView(linearLayout);
}
list.get(position).setAddView(false);
}
}
这是因为绑定了View Holder时要添加视图。创建视图持有人后尝试执行此操作。
@Override
public YourAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
//your addView goes here
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句