单个活动中的多个上下文菜单,每个菜单位于不同列表中

时间:2014-03-11 05:04:31

标签: android android-activity android-contextmenu

我试图在同一个活动中实现两个上下文菜单,但注册到android中的不同列表。我一直在使用framelayout:

来使用如下布局
 <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight="1" >

         <include
            android:id="@+id/container1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            layout="@layout/admin_0" />

         <include
            android:id="@+id/container2"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            layout="@layout/admin_1"
            android:visibility="gone" />

布局admin_0包含列表视图,而admin_1包含另一个列表视图。这一切都在同一个活动中实现和实例化。我确实参考了一些有关此实现的帖子,但不了解该过程。

这是我们可以在menus.xml中实现的唯一单一菜单:

<?xml version="1.0" encoding="UTF-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android">

     <item android:id="@+id/Delete" android:title="Delete"></item>
    <item android:id="@+id/Reply"  android:title="Reply"></item>
    <item android:id="@+id/Forward" android:title="Forward"></item> 

    </menu>

1 个答案:

答案 0 :(得分:1)

试试这个。
在xml中删除包含源 然后,在代码中,您可以使用inflater显示另一个xml 但是,函数位于一个java代码中 前)

LinearLayout contentsLayout = ( LinearLayout )findViewById( R.id.contentsLayout );
LayoutInflater inflater = ( LayoutInflater )getSystemService( Context.LAYOUT_INFLATER_SERVICE );
inflater.inflate( R.layout.anotherLayout, contentsLayout, true );