2012-09-14 11 views
18

मैं एक खंड के अंदर एक संदर्भ मेनू आइटम बनाने की कोशिश कर रहा हूं। लेकिन मुझे getMenuInflater() विधि के साथ समस्या का सामना करना पड़ रहा है। यह अपरिभाषित है। मैंने सभी आवश्यक पैकेज आयात किए हैं। क्या कोई यह बता सकता है कि मैं यहां क्या गलत कर रहा हूं?AndroidMteuInflater() विधि एंड्रॉइड संदर्भ मेनू निर्माण में अपरिभाषित समस्या

यहाँ मेरी कोड है:

import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.view.ContextMenu; 
import android.view.ContextMenu.ContextMenuInfo; 
import android.view.Gravity; 
import android.view.LayoutInflater; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.MenuInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.TextView; 
import android.view.MenuItem; 

public class FeaturedFragment extends Fragment { 
public FeaturedFragment() { 
} 
public static final String ARG_SECTION_NUMBER = "section_number"; 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    View view = inflater.inflate(R.layout.featured_fragment,container,false); 
    registerForContextMenu(view); 
    return view; 
} 

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

यहाँ है मेरी menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" >  
     <item android:id="@+id/toggle_view" 
     android:title="Change to ListView" 
     android:icon="@drawable/collections_view_as_grid" 
     android:showAsAction="always" /> 
     <item android:id="@+id/grid_view" 
     android:title="Grid View" 
     android:orderInCategory="99" 
     android:showAsAction="never" /> 
     <item android:id="@+id/list_view" 
     android:title="List View" 
     android:orderInCategory="99" 
     android:showAsAction="never" /> 
    </menu> 

उत्तर

43

बदलें:

MenuInflater inflater = getMenuInflater(); 
इस के लिए

:

MenuInflater inflater = getActivity().getMenuInflater(); 
+0

धन्यवाद। यह काम करता हैं। लेकिन मेरा मेनू आइटम दृश्य में नहीं दिखाया गया है। मैंने अपनी पोस्ट मेनू xml फ़ाइल के साथ संपादित की है। – intrepidkarthi

+0

क्या आपको 'getMenuInflator()' का उपयोग 'CreateOptionsMenu' के भीतर 'गतिविधि' के अंदर नहीं करना चाहिए? – waqaslam

+0

डेवलपर गाइड (http://developer.android.com/guide/topics/ui/menus.html#FloatingContextMenu) कहता है कि हम इसे किसी गतिविधि या खंड के अंदर रख सकते हैं। – intrepidkarthi

संबंधित मुद्दे