![](/img/trans.png)
[英]How can I write a onPrepareOptionsMenu for a PopupMenu with Kotlin in Android Studio?
[英]How to write PopupMenu in Kotlin in RecycleViwer?
這是我第一次創建 Andorid 應用程序,所以請幫忙,所以我的適配器中有以下代碼:
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.view.setOnClickListener {
d("daniel", "clicked")
}
holder.view.img_more.setOnClickListener{
val popupMenu = PopupMenu(this, it)
popupMenu.setOnMenuItemClickListener { item ->
when(item.itemId){
R.id.action_settings ->{
Toast.makeText(this,"this is toast message",Toast.LENGTH_SHORT).show()
true
}
R.id.action_settings ->{
Toast.makeText(this,"this is toast message",Toast.LENGTH_SHORT).show()
true
}
else -> false
}
}
popupMenu.inflate(R.menu.menu_prijem_posiljke)
popupMenu.show()
}
}
在行中:
val popupMenu = PopupMenu(this, it)
對於“this”上下文表示所需的上下文。 我需要在那里放什么才能工作? 謝謝你
Android 中的每個 View 對象都有一個關聯的上下文,即實例化視圖的 Activity 或 Fragment 類。 您可以使用視圖的上下文屬性來獲取上下文,但您需要小心不要泄漏它。 如果確實需要上下文,則可以將applicationContext
作為依賴項傳遞給Adapter
類。 但是作為一個快速的解決方案,您可以按照@Jeel 的建議使用以下內容替換您的代碼,它應該可以工作。
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.view.setOnClickListener {
d("daniel", "clicked")
}
holder.view.img_more.setOnClickListener{
val popupMenu = PopupMenu(holder.view.context, it)
popupMenu.setOnMenuItemClickListener { item ->
when(item.itemId){
R.id.action_settings ->{
Toast.makeText(this,"this is toast message",Toast.LENGTH_SHORT).show()
true
}
R.id.action_settings ->{
Toast.makeText(this,"this is toast message",Toast.LENGTH_SHORT).show()
true
}
else -> false
}
}
popupMenu.inflate(R.menu.menu_prijem_posiljke)
popupMenu.show()
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.