使用片段更改ActionBar标题

Jei*_*ran 16 android android-fragments android-actionbar

  • 我正在使用Actionbar.
  • 我有一个片段调用收藏夹,我将一些联系人保存为收藏夹.
  • 当您点击一个联系人时,它会将我带到另一个片段,并将联系人号码放在editText上.
  • 新片段是呼叫转移.

所以我的问题是,当用户点击联系人时,这会将我带到另一个片段,但操作栏上的标题仍然是最喜欢的标题,而不是新标题,如何更改该标题?

我已经尝试使用setTitleclick方法但仍然无法正常工作.

NOT*_*MER 56

在您的活动中:

public void setActionBarTitle(String title) {
    getSupportActionBar().setTitle(title);
}
Run Code Online (Sandbox Code Playgroud)

在你的片段中(你可以把它放在onCreate或onResume上):

 public void onResume(){
        super.onResume();

    // Set title bar
    ((MainFragmentActivity) getActivity())
            .setActionBarTitle("Your title");

}
Run Code Online (Sandbox Code Playgroud)


Shw*_*han 20

在你的片段中

public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

    getActivity().setTitle("Team B");

    View rootView = inflater.inflate(R.layout.fragment_team_b, container, false);

    return rootView;
}
Run Code Online (Sandbox Code Playgroud)


Pai*_*ols 5

如果您正在使用Android Jetpack的导航组件。操作栏读取片段名称的Label属性。不确定这是否是正确的解决方法,但是如果您在导航编辑器中更改了标签文本,则将由承载这些片段的活动中设置的supportActionBar读取该文本。导航编辑器的“属性”选项卡