2017-04-17 3 views
0

フラグメント(ViewPagerの一部です)でStaggeredGridLayoutManagerを使用しようとしていますが、私の配列のリストはretrofitを使用してjsonで埋められています。最初はフラグメントを開いてもOKだと思いますが、別のアクティビティに転送して戻るボタンを押せば、フラグメントはもはや要素を表示しません。それは空です。 私はデバッグし、jsonが解析されますが、アダプタは見つかりませんでしたが、フラグメントは空です。私は、アプリケーションを閉じて、それを再び開くと、すべてが最初に動作します。StaggeredGridLayoutManager with Retrofit

コードは次のとおりです。

recyclerView = (RecyclerView) v.findViewById(R.id.recycler_view); 
    recyclerView.setLayoutManager(new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL)); 

    RecyclerView.ItemAnimator itemAnimator = new DefaultItemAnimator(); 
    itemAnimator.setAddDuration(1000); 
    itemAnimator.setRemoveDuration(1000); 
    recyclerView.setItemAnimator(itemAnimator); 

    adapter = new OffersAdapter(getActivity(), offers); 
    recyclerView.setAdapter(adapter); 

レトロフィットonResponse adapter.notifyDataSetChanged();

私の活動はすべてが、大丈夫です、私は「Oferta」と呼ばれる第3のフラグメントにする]をクリック写真、のようなものです私がクリックした場合よりもenter image description here

答えて

0

あなたのFragmentにはsetRetainInstance()を使用することができます。側面onCreate()このような方法:

@Override 
     public void onCreate(Bundle savedInstanceState { 
      super.onCreate(savedInstanceState); 
      setRetainInstance(true); 
     }