创建导航抽屉时,Android 清单文件中出现错误

问题描述 投票:0回答:1

我正在创建一个带有导航抽屉的应用程序。一切顺利,我已经添加了我的菜单文件抽屉头文件。但是当我在 MainActivity 文件中编写逻辑代码时,我在 Android 清单文件的“.MainActivity”位置收到错误。

错误是“未解析的类‘MainActivity’”

代码: 类 MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelectedListener { private Lateinit var抽屉布局:DrawerLayout

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

    drawerLayout = findViewById<DrawerLayout>(R.id.drawer_layout)

    val toolbar = findViewById<Toolbar>(R.id.toolbar)
    setSupportActionBar(toolbar)

    val navigationView = findViewById<NavigationView>(R.id.nav_view)
    navigationView.setNavigationItemSelectedListener(this)

    val toggle = ActionBarDrawerToggle(this, drawerLayout, toolbar, R.string.open_nav, R.string.close_nav)

    drawerLayout.addDrawerListener(toggle)
    toggle.syncState()

    if (savedInstanceState == null) {
        supportFragmentManager.beginTransaction()
            .replace(R.id.fragment_container, HomeFragement()).commit()
        navigationView.setCheckedItem(R.id.nav_general)
    }
}

override fun onNavigationItemSelected(item: MenuItem): Boolean {
    when (item.itemId) {
        R.id.nav_general -> supportFragmentManager.beginTransaction()
            .replace(R.id.fragment_container, HomeFragement()).commit()
        R.id.nav_pred -> supportFragmentManager.beginTransaction()
            .replace(R.id.fragment_container, MLFragment()).commit()
        R.id.nav_safety -> supportFragmentManager.beginTransaction()
            .replace(R.id.fragment_container, SafetyFragment()).commit()
        R.id.nav_about -> supportFragmentManager.beginTransaction()
            .replace(R.id.fragment_container, AboutFragment()).commit()
        R.id.nav_logout -> Toast.makeText(this, "Logout!", Toast.LENGTH_SHORT).show()
    }
    drawerLayout.closeDrawer(GravityCompat.START)
    return true
}

override fun onBackPressed() {
    if (drawerLayout.isDrawerOpen(GravityCompat.START)) {
        drawerLayout.closeDrawer(GravityCompat.START)
    } else {
        onBackPressedDispatcher.onBackPressed()
    }
}

}

我尝试删除该文件并创建另一个文件,但我遇到了同样的问题

android navigation-drawer
1个回答
0
投票

您的应用程序的“包名称”是什么。您是否尝试过在应用程序模块级 gradle 文件中添加包名称?

这个命名空间过去属于 Manifest 文件,但现在需要在应用程序级别的 build.gradle 文件中声明。

它告诉您的应用程序在哪里查找您的类,因此它是子级目录(包)的父目录。

© www.soinside.com 2019 - 2024. All rights reserved.