首页 > 解决方案 > 无法更改片段内的活动名称

问题描述

我有一个使用Fragments 构建的应用程序。问题是 Activity 使用 Fragment 类名称作为其标题,而不是我设置的标题。一些可能有用的代码部分:

MainActivity.kt

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        val binding = DataBindingUtil.setContentView<ActivityMainBinding>(this, R.layout.activity_main)

        topAppBar = binding.topAppBar
        setSupportActionBar(topAppBar)

        val navHostController = supportFragmentManager.findFragmentById(R.id.detailFragment)
        val navController = navHostController?.findNavController()
        if (navController != null) {
            NavigationUI.setupActionBarWithNavController(this, navController)
        }
    }

}

DetailFragment.kt

class DetailFragment : Fragment() {

    override fun onCreate(savedInstanceState: Bundle?) {
        ...
        // Also tried in onCreateView and onCreateOptionsMenu
        requireNotNull(this.activity).title = getString(R.string.app_name)
        ...
    }
}

有任何想法吗?

标签: androidkotlin

解决方案


推荐阅读