Java IImplement共享意图,使用Firebase回收器适配器

Java IImplement共享意图,使用Firebase回收器适配器,java,android,firebase,firebase-realtime-database,android-intent,Java,Android,Firebase,Firebase Realtime Database,Android Intent,我正在使用FirebaseRecylcerAdapter,试图使用共享意图将我的RecylcerView的图像或数据共享给其他应用程序 下面是我的适配器,我尝试在其中单击按钮: private fun ShowData() { var tip = mfirebasedatabase!!.getReference("Model").orderByChild("a") options = FirebaseRecyclerOptions.Bu

我正在使用FirebaseRecylcerAdapter,试图使用共享意图将我的RecylcerView的图像或数据共享给其他应用程序

下面是我的适配器,我尝试在其中单击按钮:

  private fun ShowData() {
   var tip =  mfirebasedatabase!!.getReference("Model").orderByChild("a")
    options = FirebaseRecyclerOptions.Builder<Model>().setQuery(tip, Model::class.java).build()
    mfirebaseRecyclerAdapter = object : FirebaseRecyclerAdapter<Model, ViewHolder>(options!!) {
        override fun onBindViewHolder(viewHolder: ViewHolder, i: Int, model: Model) {
            viewHolder.setDetails(applicationContext, model.image, model.title)
        }

        override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
            val itemview = LayoutInflater.from(parent.context).inflate(R.layout.row, parent, false)
            val viewHolder = ViewHolder(itemview)
            var sh :Button = itemview.findViewById<Button>(R.id.buttontoShare)
            sh.setOnClickListener {
              // how to get the Model.image so that i can implement
                //share intent to share data to other apps?

            }
private fun ShowData(){
var tip=mfirebasedatabase!!.getReference(“Model”).orderByChild(“a”)
options=FirebaseRecyclerOptions.Builder().setQuery(提示,Model::class.java).build()
mfirebaseRecyclerAdapter=对象:FirebaseRecyclerAdapter(选项!!){
覆盖onBindViewHolder(viewHolder:viewHolder,i:Int,model:model){
viewHolder.setDetails(applicationContext、model.image、model.title)
}
override onCreateViewHolder(父级:ViewGroup,viewType:Int):ViewHolder{
val itemview=LayoutInflater.from(parent.context).充气(R.layout.row,parent,false)
val viewHolder=viewHolder(项目视图)
var sh:Button=itemview.findviewbyd(R.id.buttontoShare)
sh.setOnClickListener{
//如何获取Model.image以便实现
//是否要将数据共享到其他应用程序?
}

请帮助我了解如何从那里获取对象

onBindViewHolder()
方法中作为参数获取的
模型
对象不能在
onCreateViewHolder()中使用
方法,因为它超出范围。如果需要在
sh
按钮上单击listener进行设置,请在
ViewHolder
类中而不是在
onCreateViewHolder
方法中进行设置。这样,您可以访问
模型
对象,因为当您使用以下命令时,它已经发送到该类中:

viewHolder.setDetails(applicationContext, model.image, model.title)

这样,您可以附加侦听器并将单击的对象发送到下一个活动。然而,更合适的解决方法是使用回调,如下面所解释的。

嘿,PrAAV!您尝试过我的解决方案吗?如果您认为我的答案对您有帮助,请考虑接受它。✔️). 我真的很感激。谢谢!