作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题在这里已经有了答案:
Send data from activity to fragment in Android
(22 个回答)
3年前关闭。
我在 RecyclerView
中显示数据.当我单击列表项启动 BottomSheetDialogFragment
.
如何将列表项数据传递给kotlin中的BottomSheetDialogFragment
BottomSheetFragment().show(context!!.supportFragmentManager, "BottomSheetFragment")
class BottomSheetFragment() : BottomSheetDialogFragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
var view = inflater.inflate(R.layout.coin_detail_lauout, container, false)
return view
}
}
最佳答案
使用 Bundle
val bottomSheetFragment = BottomSheetFragment()
val bundle = Bundle()
bundle.putString("key", data)
bottomSheetFragment.arguments = bundle
ViewHolder
类(class)
inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val textView = itemView.textView!!
init {
itemView.setOnClickListener {
showBottomSheet(itemView.context, list.get(layoutPosition))
}
}
private fun showBottomSheet(context: Context, data: String) {
val bottomSheetFragment = BottomSheetFragment()
val bundle = Bundle()
bundle.putString("key", data)
bottomSheetFragment.arguments = bundle
bottomSheetFragment.show(
(context as AppCompatActivity).supportFragmentManager,
"bottomSheetFragment"
)
}
}
onCreateView
您的
BottomSheetFragment
arguments?.getString("key")
BottomSheetFragment
类(class)
class BottomSheetFragment : BottomSheetDialogFragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val view = inflater.inflate(R.layout.fragment_bottomsheetfragment_list_dialog, container, false)
val data = arguments?.getString("key")
// Log.d("===",data+"")
return view
}
}
关于android - 如何将数据传递给 BottomSheetDialogFragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56248633/
我是一名优秀的程序员,十分优秀!