Android contextmenu子菜单的自定义标题视图引发错误

Android contextmenu子菜单的自定义标题视图引发错误,android,android-layout,Android,Android Layout,是否可以为关联菜单的子菜单添加自定义标题标题 我编写此方法是为了更改子菜单标题的外观(背景为绿色,文本颜色为白色) R.layout.dialog\u标题 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android

是否可以为关联菜单的子菜单添加自定义标题标题

我编写此方法是为了更改子菜单标题的外观(背景为绿色,文本颜色为白色)

R.layout.dialog\u标题

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/green"
    android:orientation="horizontal" >
<ImageView
    android:id="@+id/dialog_title_icon"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:background="@android:color/transparent" />
<TextView
    android:id="@+id/dialog_title_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:background="@android:color/transparent"
    android:gravity="center_vertical"
    android:padding="@dimen/dialog_padding"
    android:textColor="@color/white"
    android:textSize="20sp"
    android:textStyle="bold" />
</LinearLayout>

编辑:我也无法使用style.xml更改标题背景。如果这个方法可行,那也一样好

我想你必须尝试menu.removeAllViews()而不是menu.clearHeader()…但是接口子菜单不包含removeAllViews()方法
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/green"
    android:orientation="horizontal" >
<ImageView
    android:id="@+id/dialog_title_icon"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:background="@android:color/transparent" />
<TextView
    android:id="@+id/dialog_title_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:background="@android:color/transparent"
    android:gravity="center_vertical"
    android:padding="@dimen/dialog_padding"
    android:textColor="@color/white"
    android:textSize="20sp"
    android:textStyle="bold" />
</LinearLayout>
@Override
public boolean onContextItemSelected(MenuItem item) {
    ContextMenuInfo menuInfo = item.getMenuInfo();
    if (menuInfo != null) {
        AdapterContextMenuInfo acmInfo = (AdapterContextMenuInfo) menuInfo;
        lastCheckedItemPosition = acmInfo.position;
    }
    final FavoriteItem favouriteItem = favouriteAdapter.getItem(lastCheckedItemPosition);
    setContextMenuHeader(item.getSubMenu(), favouriteItem.getName(), R.drawable.ic_tab_favorite);