2017-09-05 4 views
0

まずすべての解決策を試しましたが、私はまだこの質問の答えを得ていません。フラグメントが置き換えられたときにデータを保存する方法

私は、ViewPagerにデータを挿入する方法がいくつかありますが、ViewPagerに取り込む方法は、この方法です。

fragment = getSupportFragmentManager(); 
     fragment.beginTransaction() 
       .replace(R.id.homepageVp, newFrag) 
       .addToBackStack(null) 
       .commit(); 

suppouseがフラグメントAがあると私は、コードの上に使用して、フラグメントBとそれを交換して、ここで私の質問ですが、それは断片Bに断片Aから移動すると、コードの上に使用してバックフラグメントAに移動させることが可能です以前の置換(最初のもの)からのデータを含んでいます。

私はこれがonSaveInstanceStateが後で私の活動が再び作成されonActivityCreatedが実行され、に前の値を入れたときにそうするJsonResult変数を保存するために実行される私の理解では、フラグメントA内

@Override 
public void onSaveInstanceState(Bundle outState) { 
    super.onSaveInstanceState(outState); 
    outState.putString(VAR_KEY, jsonResult); 
} 

@Override 
public void onActivityCreated(@Nullable Bundle savedInstanceState) { 
    super.onActivityCreated(savedInstanceState); 
    jsonResult = savedInstanceState.getString(VAR_KEY); 
} 

を使用して試してみましたjsonResult変数。しかし、それは、おそらく私が作った間違い、またはそれが正しくないFragment LifeCycleの私の理解です。

+0

なぜあなたはJSONとどこからでもアクセス、それを格納するシングルトンクラスを作成しますか? –

+0

onActivityCreatedの代わりにonCreateViewを試してみましたか? – phpdroid

答えて

0

あなただけでoffscreenPageLimitを設定viewPagerでフラグメントを再作成したくない場合は、あなたのこのようなviewPager

viewPager.setOffscreenPageLimit(/*Total no of fragments*/); 
関連する問題