Android 如何让通过安全参数传递的数据显示在片段中?

Android 如何让通过安全参数传递的数据显示在片段中?,android,kotlin,Android,Kotlin,我正在尝试从我的RecyclerView中单击的项目传递数据。我相信我已经遵循了安卓提供的说明。我遇到的问题是,当我点击项目,导航到片段时,TextView没有显示我传递的数据 下面是我的代码。谢谢你的帮助 导航xml <?xml version="1.0" encoding="utf-8"?> <navigation xmlns:android="http://schemas.android.com/apk/res/andro

我正在尝试从我的RecyclerView中单击的项目传递数据。我相信我已经遵循了安卓提供的说明。我遇到的问题是,当我点击项目,导航到片段时,TextView没有显示我传递的数据

下面是我的代码。谢谢你的帮助

导航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" android:id="@+id/navigation"
    app:startDestination="@id/viewJournalEntry">

    <fragment
        android:id="@+id/viewJournalEntry"
        android:name="us.jordanakellogg.journalapplication.ui.ViewJournalEntry"
        android:label="ViewJournalEntry" >
        <action
            android:id="@+id/action_viewJournalEntry_to_journalEntry"
            app:destination="@id/journalEntry" />
        <action
            android:id="@+id/action_viewJournalEntry_to_entryFragment"
            app:destination="@id/entryFragment" />
    </fragment>
    <fragment
        android:id="@+id/journalEntry"
        android:name="us.jordanakellogg.journalapplication.ui.JournalEntry"
        android:label="JournalEntry" >
        <action
            android:id="@+id/action_journalEntry_to_viewJournalEntry"
            app:destination="@id/viewJournalEntry" />
    </fragment>
    <fragment
        android:id="@+id/entryFragment"
        android:name="us.jordanakellogg.journalapplication.ui.EntryFragment"
        android:label="EntryFragment" >
        <argument
            android:name="title"
            app:argType="string" />
        <argument
            android:name="date"
            app:argType="string" />
        <argument
            android:name="body"
            app:argType="string" />
    </fragment>
</navigation>

在你的适配器中试试这个

override fun onBindViewHolder(holder: TextItemViewHolder, position: Int) {
        val item = data[position]
        holder.textView.text = formatJournalEntry(item)

        holder.textView.setOnClickListener {
            it.findNavController().navigate(

                ViewJournalEntryDirections.ActionViewJournalEntryToEntryFragment(
                    item.entryTitle, convertLongToDateString(item.entryDate.timeInMillis),
                    item.entryText
                )
            )
        }

    }
你在干什么

return inflater.inflate(R.layout.fragment_entry, container, false)
这将返回一个全新的充气布局,而不是您一直在使用的
绑定。相反,返回您一直使用的绑定的根:

return binding.root
return inflater.inflate(R.layout.fragment_entry, container, false)
return binding.root