使用新的导航抽屉活动将数据从活动发送到片段

时间:2019-10-27 17:42:26

标签: android kotlin navigation-drawer

我现在正在学习Kotlin,并且新的默认“导航抽屉活动”的实现方式有所不同。现在,您没有onNavigationItemSelected,只有onCreate()的创建和初始化,然后是onSupportNavigateUp()的创建和初始化,对我而言,这并没有显示click事件的处理位置。

我想知道如何使用这种新的Kotlin Navigation Drawer结构发送一些数据。在主活动中生成的代码是:

    <include
        layout="@layout/app_bar_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <com.google.android.material.navigation.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        app:headerLayout="@layout/nav_header_main"
        app:menu="@menu/activity_main_drawer" />

activity_main.xml文件:

    <fragment
        android:id="@+id/nav_host_fragment"
        android:name="androidx.navigation.fragment.NavHostFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:defaultNavHost="true"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:navGraph="@navigation/mobile_navigation" />

content_main.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/mobile_navigation"
    app:startDestination="@+id/nav_done">

    <fragment
        android:id="@+id/nav_done"
        android:name="caiofa.com.task.ui.tasklist.TaskListFragment"
        android:label="@string/menu_done"
        tools:layout="@layout/fragment_task_list" >
    </fragment>

    <fragment
        android:id="@+id/nav_todo"
        android:name="caiofa.com.task.ui.home.HomeFragment"
        android:label="@string/menu_todo"
        tools:layout="@layout/fragment_home"

        />

    <fragment
        android:id="@+id/nav_logout"
        android:name="caiofa.com.task.ui.slideshow.SlideshowFragment"
        android:label="@string/menu_logout"
        tools:layout="@layout/fragment_slideshow" />

</navigation>

和mobile_navigation.xml文件:

capacity

0 个答案:

没有答案