Android 向动态生成的菜单项添加长按
好的,我有一个动态菜单(在我的导航抽屉中),生成如下: 在my Main.javaAndroid 向动态生成的菜单项添加长按,android,Android,好的,我有一个动态菜单(在我的导航抽屉中),生成如下: 在my Main.javaonCreate()中: 将其添加到活动主抽屉中的id:myfolders: <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" to
onCreate()
中:
将其添加到活动主抽屉中的id:myfolders
:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:showIn="navigation_view">
<item android:title="My Folders"
android:orderInCategory="1"
android:id="@+id/myfolders">
<menu></menu>
</item>
<item android:checkableBehavior="single" android:orderInCategory="2">
<menu android:id="@+id/about_menu">
<item android:id="@+id/system_about"
android:title="About"
android:icon="@drawable/ic_info" />
</menu>
</item>
</menu>
这一切都很完美,但是我想在我的菜单项中添加longpress功能。我不知道该怎么做,有人能帮忙吗?您可以从菜单中获得菜单项。add()
然后您可以调用:
menuItem.getActionView().setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
return false; // true
}
});
但在您设置操作视图之前:menuItem.setActionView(new ImageButton(this))
谢谢您-我已经开始工作了-从view v
对象,但是我如何知道我正在单击哪个菜单项?试试这个v.getResources().getResourceEntryName(v.getId());您好,我对这段代码有一个问题,您能看看我的新问题吗:不管它值多少钱,尝试用新的ImageButtonThanks替换新视图。这使它变得更容易,尽管它并不理想:(
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:showIn="navigation_view">
<item android:title="My Folders"
android:orderInCategory="1"
android:id="@+id/myfolders">
<menu></menu>
</item>
<item android:checkableBehavior="single" android:orderInCategory="2">
<menu android:id="@+id/about_menu">
<item android:id="@+id/system_about"
android:title="About"
android:icon="@drawable/ic_info" />
</menu>
</item>
</menu>
menuItem.getActionView().setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
return false; // true
}
});