查看文档和线程后,我找不到适合我的案例的解决方案,我想知道我是否可以获得一些帮助/轻微的推动。我还没有完全理解这个功能,并且正在自学。
这是我所在的位置: 我有一个操作栏,操作栏上有一个汉堡包图标,单击汉堡包会出现滑出菜单。您将看到各种可供选择的菜单项,并带您进入新的活动。 (例如:主页、设置、登录等)选择任何菜单项或操作栏上的后退箭头后,滑出菜单将关闭。
问题: 我不知道如何使菜单项可以通过包含后退箭头进行选择。吐司适用于汉堡包图标,但不适用于主菜单项。非常感谢任何可以提供帮助的人!
解决方案:待定
HomeActivity.kt:
class HomeActivity : AppCompatActivity() {
private lateinit var drawerLayout: DrawerLayout
private lateinit var actionBarDrawerToggle: ActionBarDrawerToggle
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_home)
drawerLayout = findViewById(R.id.my_drawer_layout)
actionBarDrawerToggle =
ActionBarDrawerToggle(this, drawerLayout, R.string.nav_open, R.string.nav_close)
drawerLayout.addDrawerListener(actionBarDrawerToggle)
actionBarDrawerToggle.syncState()
supportActionBar?.setDisplayHomeAsUpEnabled(true)
override fun onOptionsItemSelected(item: MenuItem): Boolean {
if (actionBarDrawerToggle.onOptionsItemSelected(item)) {
Toast.makeText(applicationContext, "Clicked Hamburger", Toast.LENGTH_SHORT).show()
return true
}
when (item.itemId) {
R.id.nav_home -> {
Toast.makeText(applicationContext, "Clicked Home", Toast.LENGTH_SHORT).show()
return true
}
}
return super.onOptionsItemSelected(item)
}
fun launchActivity1(view: View) {}
}
似乎你的 if (actionBarDrawerToggle.onOptionsItemSelected(item)) {} 条件始终为 true 并且下面的代码无法访问 - 尝试评论这部分
if (actionBarDrawerToggle.onOptionsItemSelected(item)) {
Toast.makeText(applicationContext, "Clicked Hamburger", Toast.LENGTH_SHORT).show()
return true
}
看看发生了什么