![](/img/trans.png)
[英]Broadcast the method ArrayList.add from one Class to another Class with Intent
[英]Add a Intent in a class
我需要啟動一個新活動以全屏顯示圖像,並且我的 Intent 位於 class 但在我的主要 class 之外。
class PhotoItem(val user: String, val send: String, val timestamp: Long, val country: String): Item<GroupieViewHolder>(){
override fun bind(viewHolder: GroupieViewHolder, position: kotlin.Int) {
viewHolder.itemView.textView10.text = user
viewHolder.itemView.textView13.text = timestamp.toString()
viewHolder.itemView.textView14.text = country
val uri = send
val targetImageView = viewHolder.itemView.selectphoto_imageview
val targetImageViewFullScreen = viewHolder.itemView.fullscreen
Picasso.get().load(uri).into(targetImageView)
viewHolder.itemView.setOnClickListener{v : View ->
v.getContext().startActivity(Intent(v.getContext(), FullscreenPhoto::class.java))
}
}
override fun getLayout(): kotlin.Int {
return R.layout.photo_from_row
}
}
所以我找到了這一行: v.getContext().startActivity(Intent(v.getContext(), FullscreenPhoto::class.java))
因為我無法創建基本 Intent: val intent = Intent(this,Home::class.java)startActivity(intent)
我需要 val uri 將圖像加載到我的圖像視圖中
先感謝您。
我想問題是PhotoItem
中沒有startActivity
因此,更改GroupieViewHolder
class 並在構造函數中添加活動,如下所示:
class GroupieViewHolder(val activity: Activity, /* other arguments */)
現在在PhotoItem
的bind
中使用該字段,如下所示:
override fun bind(viewHolder: GroupieViewHolder, position: kotlin.Int) {
// other codes.........
viewHolder.itemView.setOnClickListener{v : View ->
// using activity field for startActivity
viewHolder.activity.startActivity(Intent(v.getContext(), FullscreenPhoto::class.java))
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.