2010-04-07 15 views
18

मैं अपने ListView के लिए संदर्भ मेनू बनाने के लिए एक्सएमएल फ़ाइल उपयोग कर रहा हूँ। (कृपया नीचे देखे)। मैं इस संदर्भ मेनू के लिए एक शीर्षलेख भी सेट करना चाहता हूं। मैं (http://www.mail-archive.com/[email protected]/msg43062.html पर) पढ़ा है कि मैं onCreateContextMenu विधि में menu.setHeaderTitle (myContextMenuTitle) का उपयोग कर सकते हैं। लेकिन मुझे इसे एक्सएमएल फाइल में सेट करने की जरूरत है। मैं यह कैसे हासिल कर सकता हूं?XML फ़ाइल का उपयोग कर संदर्भ मेनू कैसे बनाएं?

के बाद, onCreateContextMenu विधि के लिए कोड है मुझे ठीक कर लें मैंने कुछ गलत कर रहा हूँ .. यह मेरा context_menu.xml फ़ाइल है:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/open" android:title="Open"/> 
</menu> 

यह मेरा onCreateContextMenu विधि:

@Override 
public void onCreateContextMenu(ContextMenu menu, View v, 
    ContextMenuInfo menuInfo) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.context_menu, menu); 
    super.onCreateContextMenu(menu, v, menuInfo); 
} 

यह मेरा ऑनक्रेट विधि:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    // extras = getIntent().getExtras(); 

    registerForContextMenu(getListView()); 

    ... 
} 

उत्तर

11

आप इसे जिस तरह से आप वर्तमान में कर रहे हैं क्या करना है।

+0

क्या इसका मतलब यह है कि हम इसे एक्सएमएल के माध्यम से नहीं कर सकते हैं? – Vasu

+1

हां। ऐसा करने का एकमात्र तरीका menu.setHeader के माध्यम से है –

17

आप में setHeaderTitle("mytitle") विधि, मेनू वस्तु कॉल कर सकते हैं। ओवरराइड विधि में आप OnCreateContextMenu विधि के paramrter के रूप में मेनू वस्तु मिलता है। इस तरह:

@Override 
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { 
    super.onCreateContextMenu(menu, v, menuInfo); 
    menu.setHeaderIcon(R.drawable.icon); 
    menu.setHeaderTitle("Share Menu."); 
    MenuInflater inflater = getMenuInflater(); 

    inflater.inflate(R.menu.contextmenu, menu); 
}  
संबंधित मुद्दे