使用Koltin与Firebase聊天应用程序

时间:2019-05-24 09:38:36

标签: android kotlin

在我的应用程序中,Activity.kt与Adapter.kt相连,我正在使用Kotlin中的RecyclerView。在该Adapter.kt中的适配器成员中,onBindViewHolder数据位于AnotherActivity.kt代码中。但是,这里的问题是两个活动(Activity.kt和AnotherActivity.kt)之间没有连接。因此,我的问题是如何在不使用Intent的情况下对两个活动之间的数据进行配对?

标题:Adapter.kt

class ChatAdapter (val chatList: ArrayList<ChatMessage>) : RecyclerView.Adapter<ChatAdapter.ViewHolder>() {

    override fun onCreateViewHolder(p0: ViewGroup, p1: Int): ChatAdapter.ViewHolder {
        val v = LayoutInflater.from(p0.context).inflate(R.layout.chat_sort, p0, false)
        return ViewHolder(v)
    }
    override fun getItemCount(): Int {
        return chatList.size
    }
    override fun onBindViewHolder(p0: ChatAdapter.ViewHolder, p1: Int) {
        val chat: ChatMessage = chatList[p1]
            p0.msg.text = chat.msgText /// Problem with this data is send in AnotherActivity.kt code
    }

    class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
        val msg = itemView.findViewById(R.id.tv_msg_from_user) as TextView
}

没有消失或启动或启动AnotherActivity.kt。仅在Adapter.kt中传输数据。到AnotherActivity.kt

2 个答案:

答案 0 :(得分:0)

您可以创建一个在活动2中调用的公共娱乐活动

活动1:

fun getInfo() : String {

        val info = "place here the string you need"
        return info
}

您只需调用活动2:

ActivityOne().getInfo()

希望有帮助。

答案 1 :(得分:0)

您可以在伴侣对象函数中创建一个具有getInfo()函数的应用程序类。

class MyApp : Application() {

    companion object {

        var info: String? = null

        fun getInfo(): String {
            return info
        }

        fun setInfo(info1: String) {
            info = info1 
        }
    }
}

您只需使用MyApp.getInfo()

即可获取