【发布时间】:2021-02-20 01:03:36
【问题描述】:
我正在尝试在片段中创建上下文菜单。我的行动顺序:
1)创建资源目录和菜单文件(context_menu.xml)
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/download"
android:title="Download"/>
<item android:id="@+id/hello"
android:title="Hello"/>
<item android:id="@+id/bye"
android:title="Bye"/>
2)oncreateView() 中的设置按钮
val button = view.findViewById<Button>(R.id.download_button)
registerForContextMenu(button)
button.setOnClickListener {
Toast.makeText(requireContext(), "Click", Toast.LENGTH_SHORT).show()
}
按钮有效。 Toast 出现。
3)在我的片段中重写 onCkeateContextMenu() 方法
override fun onCreateContextMenu(
menu: ContextMenu,
v: View,
menuInfo: ContextMenu.ContextMenuInfo?
) {
super.onCreateContextMenu(menu, v, menuInfo)
requireActivity().menuInflater.inflate(R.menu.context_menu, menu)
}
按下按钮不会打开菜单。可能是什么问题?
【问题讨论】:
-
这能回答你的问题吗? Inappropriate Context Menu within a Fragment
标签: android