【问题标题】:'void androidx.appcompat.app.ActionBar.setTitle(java.lang.CharSequence)' on a null object reference空对象引用上的“void androidx.appcompat.app.ActionBar.setTitle(java.lang.CharSequence)”
【发布时间】:2021-09-28 06:18:34
【问题描述】:

无法加载我的应用程序,它显示空指针异常 原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法 'void androidx.appcompat.app.ActionBar.setTitle(java.lang.CharSequence)' 在 com.example.android.bettingapp.DashboardActivity.onCreate(DashboardActivity.kt:27)

仪表板活动

class DashboardActivity : AppCompatActivity() {
private lateinit var dashboardBinding: ActivityDashboardBinding
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    dashboardBinding = ActivityDashboardBinding.inflate(layoutInflater)
    setContentView(dashboardBinding.root)
    setSupportActionBar(myToolBar)
    supportActionBar?.hide()
    val navView: BottomNavigationView = dashboardBinding.bottomNavView
    val navController = findNavController(R.id.nav_host_fragment)
    val appBarConfiguration = AppBarConfiguration(
        setOf(
            R.id.homeFragment,
            R.id.newBoastFragment,
            R.id.myBoastFragment,
            R.id.profileFragment
        )
    )
    setupActionBarWithNavController(navController, appBarConfiguration)
    navView.setupWithNavController(navController)
    supportActionBar?.setDisplayHomeAsUpEnabled(true)
    supportActionBar?.setHomeButtonEnabled(true)
}

}

【问题讨论】:

  • 虽然来晚了,评论这行代码怎么样 ------------ setupActionBarWithNavController(navController, appBarConfiguration)。 #PS。我试过了,它奏效了。

标签: kotlin android-activity fragment bottomnavigationview


【解决方案1】:

查看styles.xml中的应用主题,例如:

<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">

也许问题是您可能正在使用AppCompat 主题。

如果您想使用android.support.v7.app.ActionBar 并使用AppCompatActivity 扩展您的活动,那么您需要使用AppCompat 主题来避免此问题。

例如:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

希望这行得通。

【讨论】:

  • 那就是问题所在,您将其设为 NoActionBar 但尝试supportActionBar?.setDisplayHomeAsUpEnabled。如上所述,只需将您的主题更改为&lt;style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"&gt;
  • 但是我应该在我的应用程序中删除这个工具栏,我需要创建一个自定义工具栏。这就是我给这个 NoActionBar 的原因
  • 你能检查一下这个行号DashboardActivity.kt:27的代码是什么吗?
  • setupActionBarWithNavController(navController, appBarConfiguration)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-16
  • 1970-01-01
  • 2016-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多