小编bru*_*nti的帖子

Android MenuItem自定义布局

当我点击操作栏中的操作按钮时,会出现一个PopupMenu.我想在我的PopupMenu中使用像这样的自定义布局的MenuItem:

布局/ menu_item_layout.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/menuItemLayout"

    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/imageViewMenuItem"
        android:layout_width="20dip"
        android:layout_height="20dip"
        android:src="@drawable/abc_list_focused_holo" />

    <TextView
        android:id="@+id/textViewMenuItem"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextViewMenuItem" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

这是PopUpMenu的xml:

菜单/ pop_menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
       xmlns:tools="http://schemas.android.com/tools"
       tools:context="apparound.actiobarpopupstylefacebook.Main" >

    <item
        android:id="@+id/popupItem"
        android:showAsAction="ifRoom"/>
</menu>
Run Code Online (Sandbox Code Playgroud)

我的活动代码如下:

public void showPopup(int idR){
View menuItemView = findViewById(idR);
PopupMenu popup = new PopupMenu(this, menuItemView);
MenuInflater inflate = popup.getMenuInflater();
inflate.inflate(R.menu.pop_menu, popup.getMenu());
MenuItem menuItem= popup.getMenu().findItem(R.id.popupItem);
menuItem.setActionView(R.layout.menu_item_layout);
popup.show();
}
Run Code Online (Sandbox Code Playgroud)

但是当出现popupmenu时,item为空.我使用setActionview()方法错了吗?谢谢.

layout android menuitem

16
推荐指数
1
解决办法
2万
查看次数

标签 统计

android ×1

layout ×1

menuitem ×1