2016-03-20 13 views
0

フラグメントがあり、xmlマークアップにはViewPagerが含まれています。このフラグメント内では、スワイプによって他のフラグメントのナビゲーションを実装する必要があります。ネストしたフラグメントのActionBarタイトルを変更できません

public class MainFragment extends Fragment { 

    private View view; 

    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     view = inflater.inflate(R.layout.main_fragment, null); 

     ViewPager viewPager = (ViewPager) view.findViewById(R.id.viewPager); 
     viewPager.setAdapter(new MyAdapter(getChildFragmentManager())); 

     return view; 
    } 

    public class MyAdapter extends FragmentStatePagerAdapter { 
     public MyAdapter(FragmentManager fm) { 
      super(fm); 
     } 

     @Override 
     public Fragment getItem(int position) { 
      Fragment fragment = null; 
      switch (position) { 
       case 0: 
        fragment = new Fragment1(); 
        break; 
       case 1: 
        fragment = new Fragment2(); 
        break; 
      } 
      return fragment; 
     } 
    } 
} 

すべてがうまくいきます。問題はFragment1setTitle()メソッドを使用して独自のタイトルを設定することができません:タイトルは同じのままです。間違っている何

public class Fragment1 extends Fragment { 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     view = inflater.inflate(R.layout.fragment1, null); 

     getActivity().setTitle("Fragment 1"); 

     return view; 
    } 
} 

、なぜ私はsetTitle()を呼び出すときMainFragmentを含む親活動、のタイトルは、変更されませんか?

ありがとうございます!

答えて

1

次を使用して、フラグメントからactivitiyのタイトルを更新できます。

((AppCompatActivity)getActivity()).getSupportActionBar().setTitle("My custom title"); 
関連する問題