最近我的android.support.v7.view.menu.MenuPopupHelper
使用时出现了一个lint错误,该错误现已隐藏,并且仅限于在其库组中使用。
确切消息:
MenuPopupHelper constructor can only be called from within the same library group (groupId=com.android.support)
摘自MenuPopupHelper.java
班级:
/**
* Presents a menu as a small, simple popup anchored to another view.
*
* @hide
*/
@RestrictTo(LIBRARY_GROUP)
public class MenuPopupHelper implements MenuHelper {
问题: 知道何时以及为何发生这种情况?或者我应该寻找的解决方法是什么?
答案 0 :(得分:0)
我刚刚发现here是该工具的预发布版本中的错误。
如果您要在整个项目中使用变通办法,请将以下代码段放在项目的build.gradle
文件中
android {
lintOptions {
disable 'RestrictedApi'
}
}
OR
使用下面的注释来抑制该特定方法或类的棉绒警告
@SuppressLint("RestrictedApi")
答案 1 :(得分:0)
我在 Lint 报告中有一个错误:
<块引用>错误:MenuPopupHelper.show 只能从同一个内部调用 库组前缀(引用 groupId=androidx.appcompat with 来自 groupId=MyProject 的前缀 androidx) [RestrictedApi] }.show()
如果您不在 PopupMenu
中使用 icons,您可以删除 MenuPopupHelper
:
之前:
val popupMenu = PopupMenu(context, v)
...
val menuHelper = MenuPopupHelper(context, popupMenu.menu as MenuBuilder, v)
menuHelper.gravity = Gravity.END
menuHelper.show()
之后:
val popupMenu = PopupMenu(context, v)
...
popupMenu.gravity = Gravity.END
popupMenu.show()
或添加 @SuppressLint("RestrictedApi")
注释。
答案 2 :(得分:-3)
请尝试使用url="${createLink(controller: "myController", action: "myAction")}"
:
android.support.v7.widget.PopupMenu