我在viewpager
的一张幻灯片上有片段“Incoming”。此片段包含RecyclerView
,其中填充了custom-relative-layouts
。 LinearLayoutManager
方向为垂直方向。
我在所述viewpager的下一张幻灯片上有第二个片段“Find”。 “查找”将包含两个回收视图。它将Horizontal recyclerview
填充cardviews
(快速加载个人资料图片)。在其下方,我使用recyclerview
加载另一个custom-relative-layout
的速度更慢,与“传入”片段中的相同。
这有意义吗? 我会详细说明一下:
问题是针对这三个回收者视图,我应该为每个视图声明一个新的RecyclerAdapter
吗?我问的原因是他们都有未知的变量item_counts。
这是我对“传入”的RecyclerAdapter:
public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.ViewHolder>{
private Context mContext;
public RecyclerAdapter(Context context, List<Incoming> items) {
mContext = context;
}
public static class ViewHolder extends RecyclerView.ViewHolder {
public ViewHolder(View v) {
super(v);
// Define all of the components in the view
}
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
LayoutInflater mInf = LayoutInflater.from(mContext);
View customView = mInf.inflate(R.layout.item_layout_incoming, parent, false);
final ViewHolder vh = new ViewHolder(customView);
return vh;
}
@Override
public int getItemCount(){ return 6; } // THIS IS TEMPORARY; WILL BE VARIABLE
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
// Replace contents
}
根据我的标准,我应该为horizontal-cardview-recyclerview
创建另一个适配器吗?这似乎是重复的,但除此之外,我将如何处理cardview
或item_layout_incoming
的膨胀?
似乎应该有一种干嘛的方法来做到这一点,而不是达到性能。感谢
答案 0 :(得分:3)
您正在使用片段,因此您将创建该类的2个对象。所以这是一回事。您只需通过减少将新类加载到内存中然后创建其对象的任务来减少编译器负载。
由于两个原因,最好使用两个不同的Adapter
。
所以我的建议是开发人员友好代码并创建两个类。