2016-03-25 69 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

如果您想在回收站视图项目内滚动回收站视图,那么这是不可能的,因为我知道,因为在这种情况下会出现滚动冲突和应用程序崩溃,您可以使用水平滚动回收站视图垂直滚动的回收站视图。如果你想实现你正在尝试实现的行为,我建议你去使用线性布局。