नहीं दिखा रहा है मुझे अपने अंतिम प्रश्नों के लिए बहुत उपयोगी संकेत मिले हैं, मुझे आशा है कि यह इस बार अलग नहीं होगा :) सबसे पहले, मुझे स्थिति की व्याख्या करने दें। मेरे पास 2 टुकड़ों के साथ एक गतिविधि है। प्रत्येक खंड के लिए मेरे पास एक एक्सएमएल मेनू लेआउट है, पहले में चार मेनू प्रविष्टियां हैं, दूसरे में केवल एक ही है। अब पहले चार मेनू प्रविष्टियों के साथ टुकड़ा लोड किया गया है। अपने onCreate विधि में मैं सेटटुकड़े टुकड़े में मेनू
this.setHasOptionsMenu(true);
onCreateOptionsMenu विधि
@Override
public void onCreateOptionsMenu (Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.menu_fragshow, menu);
}
xml फ़ाइल इस तरह दिखता है:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_refresh"
android:icon="@drawable/ic_action_search"
android:title="Refresh"
android:visible="true"
android:showAsAction="ifRoom|withText" />
<item android:id="@+id/menu_clearall"
android:icon="@drawable/ic_action_search"
android:title="Clear"
android:visible="true"
android:showAsAction="ifRoom|withText" />
<item android:id="@+id/menu_addcontent"
android:icon="@drawable/ic_action_search"
android:title="Add Content"
android:visible="true"
android:showAsAction="ifRoom|withText" />
<item android:id="@+id/menu_newlist"
android:icon="@drawable/ic_action_search"
android:title="New List"
android:visible="true"
android:showAsAction="ifRoom|withText" />
</menu>
यह ठीक काम करता है। सभी मेनू आइटम वहां हैं, मैं उन्हें क्लिक कर सकता हूं और जवाब दे सकता हूं। अब जब मैं "सामग्री जोड़ें" मेनू पर क्लिक करता हूं, तो दूसरा खंड लोड होता है। वहाँ मैं भी
this.setHasOptionsMenu(true);
सेट onCreateOptionsMenu विधि
@Override
public void onCreateOptionsMenu (Menu menu, MenuInflater inflater) {
Log.i("FragCreateList","onCreateOptionsMenu called");
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.menu_fragcreatelist, menu);
}
xml फ़ाइल
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_editdone"
android:icon="@drawable/ic_action_search"
android:title="Edit Done"
android:visible="true"
android:showAsAction="ifRoom|withText" />
</menu>
लेकिन नए टुकड़ा में मैं किसी भी मेनू आइटम नहीं देख सकता। न तो एक्शन बार में, न ही जब मैं हार्डवेयर मेनू बटन दबाता हूं। पूर्व खंड में, दो मेनू आइटम एक्शनबार में थे, शेष दो तब दिखाई दिए जब हार्डवेयर बटन दबाया गया था। लेकिन यहां कुछ भी नहीं दिखाया गया है। मुझे लॉगकैट संदेश मिलता है कि ऑनक्रेटऑप्शनमेनू विधि को बुलाया गया है, लेकिन कुछ भी नहीं होता है। (मुझे अपने (खाली) पर एक कॉल भी मिलती है PrepareOptionsMenu विधि, जिसे मेनू दिखाए जाने से ठीक पहले कहा जाना चाहिए, अभी भी कुछ नहीं) कोई सुराग क्या गलत हो सकता है? अवैध अमान्य कॉलिंगमेनू कुछ नहीं करता है। इसके अलावा, मुझे यह सुनिश्चित करने के लिए पता नहीं है कि किसको कॉल करना है, क्योंकि कोई एक्टिविटी() है। अमान्य ऑप्शनमेनू और एक getFragmentManager()। अवैध ऑप्शनमेनू ... अग्रिम धन्यवाद।
संपादित करें:
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="15" />
उत्तर से उत्तर देते हैं, ऐसा लगता है कि यह कई चीजों के कारण हो सकता है। क्योंकि मैं एक FragmentActivity उपयोग कर रहा था एक AppCompatActivity के बजाय मैं इस मुद्दे था, और यह रूप में जल्द ही के रूप में मैं बदल गया है कि – TallChuck