web-dev-qa-db-ja.com

フラグメントを使用してActionBarのタイトルを変更する

  • Actionbarを使用しています。
  • お気に入りとして連絡先を保存するフラグメントコールのお気に入りがあります。
  • ある連絡先をクリックすると、別のフラグメントに移動し、editTextに連絡先番号を入力します。
  • 新しいフラグメントはコール転送です。

だから私の問題は、ユーザーが連絡先をクリックすると、別のフラグメントに移動しますが、アクションバーのタイトルは新しいタイトルではなくお気に入りのタイトルのままであるため、そのタイトルを変更するにはどうすればよいですか?

クリック方法でsetTitleを使用しようとしましたが、まだ機能していません。

16
Jeison Duran

あなたの活動:

public void setActionBarTitle(String title) {
    getSupportActionBar().setTitle(title);
}

そしてあなたのフラグメントに(onCreateまたはonResumeに置くことができます):

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

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

}
55

あなたのフラグメントで

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;
}
20
Shweta Chauhan

Android Jetpackからナビゲーションコンポーネントを使用している場合。アクションバーはフラグメント名のラベル属性を読み取ります。これが適切な修正かどうかはわかりませんが、ナビゲーションのラベルテキストを変更するとエディタ、フラグメントをホストするアクティビティに設定されているsupportActionBarによって読み込まれます。 Navigation Editor Attributes Tab

5
Paixols