/ / Menu contestuali multipli in una singola attività, ciascuno su elenchi diversi: Android, Android-Activity, Android-Contextmenu

Menu contestuali multipli in una singola attività, ciascuno su elenchi diversi: Android, Android-Activity, Android-Contextmenu

Sto cercando di implementare due menu contestuali nella stessa attività ma registrati in elenchi diversi su Android. Ho usato i layout come di seguito usando 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" />

Lo schema admin_0 contiene una visualizzazione elenco mentre admin_1 ne contiene un altro. Tutto questo è implementato e istanziato nella stessa attività. Ho fatto riferimento ad alcuni post su questa implementazione, ma non ho capito il processo.

Questo è l'unico menu singolo che possiamo implementare in 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>

risposte:

1 per risposta № 1

Prova questo.
rimuovere include source in xml.
e quindi, nel codice, è possibile visualizzare un altro xml utilizzando inflater.
ma, la funzione si trova in un codice Java.
ex)

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