2016-03-25 68 views
0

我想膨脹回收視圖的OnBindViewHolder內的自定義佈局。 我可以膨脹佈局,併成功添加for循環視圖到LinearLayout這是recyclerview項目的視圖組,但我無法將值設置爲充氣佈局的TextView。這是我到目前爲止所嘗試的。任何小提示都會有所幫助。充氣內視圖OnbindViewHolder

@Override 
public void onBindViewHolder(ParentViewHolder holder, int position) { 

    holder.title.setText(dataModels.get(position).getTopic()); 

    listModels = dataModels.get(position).getBreakingAndLatestNewsListModels(); 

    View.OnClickListener myListener = new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      String tag = (String) v.getTag(); 
      Toast.makeText(context, listModels.get(Integer.parseInt(tag)).getTitle(), Toast.LENGTH_SHORT).show(); 
     } 
    }; 

    for (int i = 0; i < listModels.size(); i++) { 
     View v = inflater.inflate(R.layout.news_content_layout, holder.containerLayout, false); 
     v.setTag(i + ""); 
     holder.containerLayout.addView(v); 
     v.setOnClickListener(myListener); 

     TextView titleTextView = (TextView) v.findViewById(R.id.news_title_text_view); 
     titleTextView.setText("jst testing"); 

    } 


} 

的另一種方法我試過this了,但是又出現在展開和摺疊工具欄

+0

爲什麼要在onBindViewHolder中膨脹?根據文檔,它應該在onCreateViewHolder中完成。在onBindViewHolder內部充氣是非常糟糕的設計。它會讓你的回收商看起來遲鈍和笨拙。 –

+0

由於我在recyclerview項目中有多個項目(即parent recyclerview項目有多個項目),因此我使用循環擴充了佈局並將其添加到recyclerview的項目中。 –

+0

有沒有其他方法可以做到這一點?在我的情況下,我需要recyclerview內的recyclerview項目。我也以這種方式嘗試過。但在展開和摺疊工具欄的問題https://stackoverflow.com/questions/36214230/collapsingtoolbarlayout-no-exnding-when-pulling-recyclerview –

回答

0

如果您想在回收站視圖項目內滾動回收站視圖,那麼這是不可能的,因爲我知道,因爲在這種情況下會出現滾動衝突和應用程序崩潰,您可以使用水平滾動回收站視圖垂直滾動的回收站視圖。如果你想實現你正在嘗試實現的行爲,我建議你去使用線性佈局。