2016-03-24 4 views
0

に動作していない、私のコードは次のようである、staggeredgridlayoutmanagerのsetspancount iが値を渡しているが、スパンが変更されていない、活動から値を渡すことによって、スパン数を変更しようとしていますfragement

@Override 
    public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstance){ 
     mStaggeredLayoutManager = new StaggeredGridLayoutManager(1, StaggeredGridLayoutManager.VERTICAL); 
     View inflatedView = inflater.inflate(R.layout.start_fragment, container, false); 
     mRecyclerView = (RecyclerView)inflatedView.findViewById(R.id.list); 
     mRecyclerView.setLayoutManager(mStaggeredLayoutManager); 
     mRecyclerView.setHasFixedSize(true); //Data size is fixed - improves performance 
     mAdapter = new TravelListAdapter(getActivity()); 
     mRecyclerView.setAdapter(mAdapter); 
     try{ 
      int span = getArguments().getInt("grid",0); 
      mStaggeredLayoutManager.setSpanCount(span); 
      Toast.makeText(getActivity(), String.valueOf(span), Toast.LENGTH_SHORT).show(); 
     }catch (Exception e){ 

     } 

     return inflatedView; 
    } 

理由ですそれは働いていない?

+0

問題をアクティビティから置き換えて解決しました – minion

答えて

0

スタッガードグリッドレイアウトマネージャのスパン数を変更する場合は、変更を適用するために、リサイクラビューに再度追加する必要があります。したがって、最初にスパン数の値を渡してから、レイアウトマネージャをリサイクラビューに追加する方がよいでしょう。

関連する問題