1

我在viewpager的幻燈片上有片段「傳入」。該片段包含填充了custom-relative-layoutsRecyclerViewLinearLayoutManager方向是垂直方向。更好的做法:重複使用RecyclerViewAdapter或每個單獨的實例?

我有第二個片段「查找」在所述viewpager的下一張幻燈片。 「查找」將包含兩個回收站視圖。它將有一個Horizontal recyclerview填充cardviews(快速加載配置文件圖片)。在此之下,我加載的速度更慢,recyclerviewcustom-relative-layout,與「傳入」片段相同。

這有道理嗎?我將闡述一些:

的問題是,這三個recyclerviews,我應該申報爲每一個新的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?它似乎重複,但否則,我會如何處理要麼充氣cardviewitem_layout_incoming

似乎應該有一個乾的方式來做到這一點,沒有命中表現。謝謝

回答

2

您正在使用片段,因此您將創建該類的2個對象。所以這是一回事。您只需通過減少將新類加載到內存中然後創建其對象的任務來減少編譯器負載。 由於2個原因,最好使用兩個不同的Adapter

  1. 你的代碼會變得醜陋我的意思是這麼多擁擠,如果其他條件很多,那麼很多 條件。
  2. 未來,如果您需要更改佈局中的某些內容,那麼 將影響所有對象,如果相同的適配器類。

所以我的建議是開發人員友好的代碼並創建兩個類。

+0

謝謝你。這就說得通了。我將爲我的卡片視圖創建一個新的回收站。我是否應該爲再循環器1和3重複使用同一個適配器(使用自定義視圖)¿ –

+0

如果它們都具有相同的數據和視圖(可以忽略小變化),那麼您可以。 – androidnoobdev

相關問題