首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >getMenuInflater( )方法在创建安卓上下文菜单时出现未定义的问题

getMenuInflater( )方法在创建安卓上下文菜单时出现未定义的问题
EN

Stack Overflow用户
提问于 2012-09-14 19:56:11
回答 1查看 21.8K关注 0票数 21

我正在尝试在片段中创建一个上下文菜单项。但是我面临着getMenuInflater()方法的问题。它是未定义的。我已经导入了所有必要的包。有人能指出我在这里做错了什么吗?

下面是我的代码:

代码语言:javascript
复制
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

代码语言:javascript
复制
  <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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-14 19:58:10

更改:

代码语言:javascript
复制
MenuInflater inflater = getMenuInflater();

要这样做:

代码语言:javascript
复制
MenuInflater inflater = getActivity().getMenuInflater();
票数 46
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12424063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档