如何在Android中将活动转换为片段?

时间:2019-06-12 12:51:55

标签: android android-fragments kotlin

我制作了一个以导航活动为主要活动的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是根布局。 是否需要在此处进行更改?

我不能只是使多个活动具有相同的导航抽屉吗?

0 个答案:

没有答案