在我的应用程序中,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
答案 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()