选项菜单项中的自定义布局显示空布局

时间:2018-04-24 14:17:22

标签: android android-layout android-actionbar

为什么自定义布局没有显示在选项菜单项中? enter image description here

提到的一些帖子使用app命名空间而不是android命名空间,showAsAction应该是" always"。尝试了所有组合,但没有运气。

它始终显示空白布局。

下面是我的代码

这是菜单布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <Button
        android:id="@+id/startSetDialog"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Set Target Time" />

    <CheckBox
        android:id="@+id/btnalarm"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textOff="@string/string_alarm_off"
        android:textOn="@string/string_alarm_on" />

</RelativeLayout>

菜单中使用的自定义布局

 @Override
public boolean onPrepareOptionsMenu(Menu menu) {
    optionsMenu = menu;
    MenuItem groupItem = optionsMenu.findItem(R.id.menu_group);
    MenuItem alarmMenuItem = (MenuItem) groupItem.getSubMenu().findItem(R.id.menu_set_alarm);
    btnSelectTime = (Button) alarmMenuItem.getActionView().findViewById(R.id.startSetDialog);
    alarmSetCheckbox = (CheckBox) alarmMenuItem.getActionView().findViewById(R.id.btnalarm);
    btnSelectTime.setOnClickListener(this);
    alarmSetCheckbox.setOnCheckedChangeListener(this);
    if (isPrayerExsists) {
        groupItem.setVisible(true);
    } else {
        groupItem.setVisible(false);
    }
    return true;

活动中用于显示选项菜单的Java代码

Public Sub SaveAttachmentsToDisk(MItem As Outlook.MailItem)
Dim oAttachment As Outlook.Attachment
Dim sSaveFolder As String
sSaveFolder = "C:\Whatever folder I need it in"
For Each oAttachment In MItem.Attachments
oAttachment.SaveAsFile sSaveFolder & oAttachment.DisplayName
Next
End Sub

setOnclicklistener也没有抛出任何错误意味着自定义布局中的视图不为null。

TIA

0 个答案:

没有答案