kotlin中的片段实例化

Mar*_*cel -2 android android-fragments kotlin

我是kotlin的新手,我想在kotlin中创建以下代码:

Fragment fragment = null;

switch(id) {
    case R.id.nav_new:
        fragment = new FragAllPosts();
        break;
    case R.id.nav_about:
        fragment = new FragAuthors();
        break;
    case R.id.nav_tags:
        fragment = new FragTags();
        break;
}

if (fragment != null) {
    FragmentTransaction ft = getFragmentManager().beginTransaction();
    ft.replace(R.id.content_frame, fragment);
    ft.commit();
}
Run Code Online (Sandbox Code Playgroud)

片段非常基本,并且还不包含任何参数.如何在kotlin中实现上述目标?谢谢!

Ale*_*xTa 5

您可以将以下代码段作为示例:

var fragment: Fragment? = null
when(id) {
    R.id.nav_new -> fragment = FragAllPosts()
    R.id.nav_about -> fragment = FragAuthors()
    R.id.nav_tags -> fragment = FragTags()
}

if(null != fragment) {
    val ft = fragmentManager.beginTransaction();
    ft.replace(R.id.content_frame, fragment);
    ft.commit();
}
Run Code Online (Sandbox Code Playgroud)