-1

私は内部に3つのフラグメントを持つアクティビティを持っています。ボタンをクリックして、自分のアクティビティで最初のフラグメントを再起動する必要があります。アクティビティでフラグメントを再開する方法 - Android

ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager()); 
adapter.addFrag(new HomeFragment(), "Home"); 
adapter.addFrag(new CategoryFragment(), "Category"); 
adapter.addFrag(new FilterFragment(), "Filter"); 
viewPager.setAdapter(adapter); 

私は、以下の方法をテストしたが仕事とエラー表示されません:あなたはこれであなたのフラグメントをリロードすることができます refresh fragment at reload

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v4.app.Fragment.setNextAnim(int)' on a null object reference 
+0

この方法は、ショーのエラーが動作しません。 : java.lang.NullPointerException:nullオブジェクト参照で仮想メソッド 'void android.support.v4.app.Fragment.setNextAnim(int)'を呼び出そうとしました –

答えて

1

FragmentTransaction tr = getFragmentManager().beginTransaction(); 
tr.replace(R.id.fragment_layout, instanceFragment); 
tr.commit() 

instanceFragmentのインスタンスであることを再読み込みするフラグメントと fragment_layout FrameLayoutアクティビティレイアウトのコンポーネントXML fil e。オンボタン

+0

"your_fragment_container"と "yourFragmentInstance"とは何ですか? –

+0

'yourFragmentInstance'は、最初のものをリロードするフラグメントの新しいインスタンスです。 'your_fragment_container'はXMLレイアウトファイルの' FrameLayout'です。私は答えを更新しました – GuilhermeFGL

+0

'IllegalStateException'に直面せずにフラグメントをリロードするメソッドを探している人は、フラグメントのホストアクティビティで上記のコードを使用してください –

0

あなたはViewPagerの現在位置が0(最初の位置)よりも大きいかどうかをチェックして、このように、最初の位置に設定クリックします。

if(viewPager.getCurrentItem>0){ 
    viewPager.setCurrentItem(0); 
} 
関連する問題