2012-09-14 21 views
18

Bir parçanın içinde bir içerik menüsü oluşturmaya çalışıyorum. Ancak, getMenuInflater() yöntemiyle sorun yaşıyorum. Tanımlanmamıştır. Gerekli tüm paketleri ithal ettim. Burada yanlış yaptığımı kimse işaret edebilir mi? İşte getMenuInflater() yöntemi, Android Bağlam Menüsü oluşturulmasında tanımlanmamış bir sorundur.

benim kodudur: Burada
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); 
} 
} 

benim 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> 

cevap

43

Değişikliği: Buna

MenuInflater inflater = getMenuInflater(); 

:

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

Teşekkürler. İşe yarıyor. Ancak menü öğemde görünümde gösterilmiyor. Gönderiyi menü xml dosyasıyla düzenledim. – intrepidkarthi

+0

, 'Activity' içinde' onCreateOptionsMenu' içinde 'getMenuInflator()' ı kullanmanız gerekmiyor mu? – waqaslam

+0

Geliştirici Kılavuzu (http://developer.android.com/guide/topics/ui/menus.html#FloatingContextMenu), bunu bir etkinlik veya parça içine alabileceğimizi söylüyor. – intrepidkarthi

İlgili konular