0

我一直在開發一個列表視圖,在列表視圖(卡片視圖)的每一行上我有一個水平scrool視圖,我在scrool視圖上添加了一些視圖(動態視圖)(這是Dynamic和計數查看每一行是不同的) 但是,當我scrool向下或向上適配器添加額外視圖scrool視圖(我的意思是例如它應該添加2視圖和它添加,但當scrool down或up它也添加2 extara視圖)動態添加視圖到RecyclerView

我不知道如何管理這個問題。

我的代碼:

@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); 
    } 





} 

回答

0

那是因爲你正在查看時,被持有人綁定添加視圖。嘗試在查看持有者創建時執行此操作。

@Override 
public YourAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
//your addView goes here 
} 
+0

坦克你非常,問題解決了,我應該輸入我的代碼到這個方法 –