74

Android Jetpackの新しいNavigationコンポーネントを使用しています。

ルート アクティビティのセットアップは非常に簡単です。

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    setSupportActionBar(toolbar)

    val navController = findNavController(R.id.navigationFragment)
    setupActionBarWithNavController(navController)

    bottomNavigationView.setupWithNavController(navController)
}

Fragment のタイトルがナビゲーション グラフで定義されている場合にうまく機能します。しかし、1 つの Fragment に対して、タイトルを動的に設定したいと考えています。

で試しましfindNavController().currentDestination.label = "Hello world"たが、何もしません。

もちろん、 のようなトリックを使用することもできますが、私にとって(activity as? AppCompatActivity)?.supportActionBar?.title = "Hello world"の魔法が壊れてしまうと感じていsetupActionBarWithNavController()ます。アクションバーのタイトルを動的に更新する方法はありますか?

4

15 に答える 15

-2

ナビゲーション グラフのandroid:labelを削除してから、 onCreateView()に書き込むことができます。

activity?.title="your title"
于 2019-10-03T18:20:52.960 に答える