Я создал 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
}
}
Теперь я хочу также настроить навигационный ящик в этом упражнении, но для этого я должен сделать это фрагментом (я не знал этого раньше !!).
Так как я долженсделать это без особой реконструкции.Я могу вызвать 3 диалога из SettingsActivity
.Все они являются AlertDialog
диалогами.Только один из них имеет пользовательский макет.И в этом диалоге с пользовательским макетом у меня есть:
val theInflater = requireActivity().layoutInflater
val theView = theInflater.inflate(R.layout.dialog_picker, null)
Насколько я знаю, этот null
является корневым макетом.Нужно ли вносить здесь изменения?
Разве я не могу просто выполнить несколько действий, используя один и тот же Навигационный ящик?