我制作了一个以导航活动为主要活动的Android项目。 我进行了另一项活动,并从“主要活动”中这样调用它:
override fun onNavigationItemSelected(item: MenuItem): Boolean {
// Handle navigation view item clicks here.
when (item.itemId) {
R.id.nav_settings -> {
startActivity(Intent(this, SettingsActivity::class.java))
}
// more nav menus I want to make in future
}
val drawerLayout: DrawerLayout = findViewById(R.id.drawer_layout)
drawerLayout.closeDrawer(GravityCompat.START)
return true
}
否则,我没有从“主要活动”中进行任何更改。
我的第二项活动是这样的:
class SettingsActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setLayout()
setDialogs()
}
private fun setLayout() {
// here I set my layout
// the layout is an xml file
// while the text is set dynamically
}
private fun setDialogs() {
// here I set some Dialogs using DialogFragment
}
}
现在我也想在此活动中设置导航抽屉, 但是为此,我应该将其片段化(我以前不知道!)。
那么我应该怎么做而又不做太多重建。
我可以从SettingsActivity
调用3个对话框。
它们都是AlertDialog
对话框。
其中只有一个具有自定义布局。
在具有自定义布局的对话框中,我有:
val theInflater = requireActivity().layoutInflater
val theView = theInflater.inflate(R.layout.dialog_picker, null)
据我所知,此null
是根布局。
是否需要在此处进行更改?
我不能只是使多个活动具有相同的导航抽屉吗?