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