0

我想在第一行1個圖像和第二排2個圖像和重複等..
我想recyclerview是這樣RecyclerView的GridLayoutManager - 交替1個2列行

screenshot

+0

列表視圖或回收視圖中的用戶標題 –

+0

因此,這些佈局會交替出現?如果是,那麼我會建議使用LinearLayout管理器而不是GridLayout管理器。如果你想我可以發佈我的答案。 –

+0

@bhavesh是的,你可以發佈你的答案 – Maharaj

回答

0

你應該這樣做:

mRecyclerView = (RecyclerView) view.findViewById(R.id.grid); 
mLayoutManager = new GridLayoutManager(getActivity(), 2); 
mLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { 
     @Override 
     public int getSpanSize(int position) { 
      switch(mAdapter.getItemViewType(position)){ 
       case MyAdapter.TYPE_HEADER: 
        return 2; 
       case MyAdapter.TYPE_ITEM: 
        return 1; 
       default: 
        return -1; 
      } 
     } 
    }); 

mRecyclerView.setLayoutManager(mLayoutManager); 

,並設置您項目的類型,作爲頭或項目在適配器

-1
RecyclerView mRecyclerView = 
    (RecyclerView) findViewById(R.id.recycler_view); 
YourAdapter yourAdapter = new YourAdapter(this, arrayList); 
if (mRecyclerView != null) { 
    mRecyclerView.setLayoutManager(new GridLayoutManager(this, 4)); 
    mRecyclerView.setAdapter(yourAdapter); 
} 
+1

1)請解釋你的答案,而不僅僅是轉儲代碼。 2)這個問題似乎沒有替代1和2列,因爲問題要求 –

0
GridLayoutManager layout_manager = new GridLayoutManager(mContext, 2); 
     manager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { 
      @Override 
      public int getSpanSize(int position) { 
       return (position % 3 == 0 ? 2 : 1); 
      } 
     }); 

/* Custom Adapter */ 

     Adapter contact_adapter = new Adapter(MainActivity.this, all_contacts_list); 
     recyclerView.setLayoutManager(layout_manager); 
     recyclerView.setHasFixedSize(true); 
     recyclerView.setAdapter(contact_adapter); 
+0

這個答案需要更多細節。看到«[[完全解釋]»線程(https://meta.stackexchange.com/questions/114762/explaining-entirely-%E2%80%8C%E2%80%8Bcode-based-answers) – Stphane

+2

事情是,質量檢查員機器人將您的答案標記爲潛在的低質量答案。主持人可以選擇建議刪除這樣的答案,但我沒有,但建議您添加相關的解釋,因爲您的答案可能會解決問題,並且所有用戶可能不習慣您的代碼。你有沒有關注鏈接? – Stphane

相關問題