为什么 Android 上下文菜单是空的?
Why is the Android context menu empty?
我有上下文菜单布局:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/share_btn"
android:icon="@drawable/ic_delete_black_24dp"
android:title=""
app:showAsAction="always"/>
<item
android:id="@+id/edit_btn"
android:icon="@drawable/ic_edit_black_24dp"
android:title=""
app:showAsAction="always"/>
<item
android:id="@+id/remove_btn"
android:icon="@drawable/ic_delete_black_24dp"
android:title=""
app:showAsAction="always"/>
</menu>
还有 Fragment,我试图在其中显示菜单:
class OverviewFragment: Fragment() {
/* some code */
override fun onCreateContextMenu(menu: ContextMenu, v: View, menuInfo: ContextMenu.ContextMenuInfo?) {
super.onCreateContextMenu(menu, v, menuInfo)
this.activity!!.menuInflater.inflate(R.menu.binge_card_menu, menu)
}
/*some code */ }
但是布局没有显示:
但听众工作,如果我以编程方式制作菜单,一切都会正确显示,所以我不知道为什么。
发生这种情况是因为您使用空字符串作为标题:
<item
android:id="@+id/share_btn"
android:title=""
.../>
正确方法:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/share_btn"
android:icon="@drawable/ic_delete_black_24dp"
android:title="Share"
app:showAsAction="always"/>
<item
android:id="@+id/edit_btn"
android:icon="@drawable/ic_edit_black_24dp"
android:title="Edit"
app:showAsAction="always"/>
<item
android:id="@+id/remove_btn"
android:icon="@drawable/ic_delete_black_24dp"
android:title="Remove"
app:showAsAction="always"/>
</menu>
不要使用空字符串。
<item
android:id="@+id/share_btn"
**android:title="Share"**
.../>
我有上下文菜单布局:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/share_btn"
android:icon="@drawable/ic_delete_black_24dp"
android:title=""
app:showAsAction="always"/>
<item
android:id="@+id/edit_btn"
android:icon="@drawable/ic_edit_black_24dp"
android:title=""
app:showAsAction="always"/>
<item
android:id="@+id/remove_btn"
android:icon="@drawable/ic_delete_black_24dp"
android:title=""
app:showAsAction="always"/>
</menu>
还有 Fragment,我试图在其中显示菜单:
class OverviewFragment: Fragment() {
/* some code */
override fun onCreateContextMenu(menu: ContextMenu, v: View, menuInfo: ContextMenu.ContextMenuInfo?) {
super.onCreateContextMenu(menu, v, menuInfo)
this.activity!!.menuInflater.inflate(R.menu.binge_card_menu, menu)
}
/*some code */ }
但是布局没有显示:
但听众工作,如果我以编程方式制作菜单,一切都会正确显示,所以我不知道为什么。
发生这种情况是因为您使用空字符串作为标题:
<item
android:id="@+id/share_btn"
android:title=""
.../>
正确方法:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/share_btn"
android:icon="@drawable/ic_delete_black_24dp"
android:title="Share"
app:showAsAction="always"/>
<item
android:id="@+id/edit_btn"
android:icon="@drawable/ic_edit_black_24dp"
android:title="Edit"
app:showAsAction="always"/>
<item
android:id="@+id/remove_btn"
android:icon="@drawable/ic_delete_black_24dp"
android:title="Remove"
app:showAsAction="always"/>
</menu>
不要使用空字符串。
<item
android:id="@+id/share_btn"
**android:title="Share"**
.../>