2017-08-25 17 views
0

GridLayoutManagerが添付されたRecyclerビューがあります。デフォルトでは、1つの列が表示され、ユーザーがボタンをクリックすると、2つの列に表示されます。以下 GridLayoutManager列を動的に変更する方法

adapter = new ProductAdapter(getActivity(), productList); 
     gridLayoutManager = new GridLayoutManager(getActivity(), 1); 
     setLayoutManager(true); 

は私が変更列

private void setLayoutManager(boolean isList) { 
     if (isList) { 
      adapter.VIEW_TYPE = 0 ; 
      gridLayoutManager.setSpanCount(1); 
      //product_recycler_view.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false)); 
      product_recycler_view.setLayoutManager(gridLayoutManager); 

     } else { 
      adapter.VIEW_TYPE = 1 ; 
      gridLayoutManager.setSpanCount(2); 
      product_recycler_view.setLayoutManager(gridLayoutManager); 
     } 
     product_recycler_view.setAdapter(adapter); 
     adapter.notifyDataSetChanged(); 
     // product_recycler_view.notify(); 
     // product_recycler_view.notifyAll(); 

     System.out.println("clicked isList "+ isList); 

    } 

答えて

0

この

private void setLayoutManager(boolean isList) { 
     if (isList) { 
      product_recycler_view.setLayoutManager(new LinearLayoutManager(this)); 
     } else { 
      product_recycler_view.setLayoutManager(gridLayoutManager); 
     } 
     product_recycler_view.setAdapter(adapter); 
     adapter.notifyDataSetChanged(); 
     // product_recycler_view.notify(); 
     // product_recycler_view.notifyAll(); 

     System.out.println("clicked isList "+ isList); 
} 
を試してみてください午前機能です
関連する問題