Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 无法从OnOptions ItemSelected中使用LayoutInflater_Android_Android Layout_Options Menu - Fatal编程技术网

Android 无法从OnOptions ItemSelected中使用LayoutInflater

Android 无法从OnOptions ItemSelected中使用LayoutInflater,android,android-layout,options-menu,Android,Android Layout,Options Menu,我试图通过一个选项菜单项膨胀布局。 我尝试使用的代码如下 public class Test01 extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ... setContentView(R.Layout.main);

我试图通过一个选项菜单项膨胀布局。 我尝试使用的代码如下

public class Test01 extends Activity
{
    @Override
        public void onCreate(Bundle savedInstanceState) 
        {
            super.onCreate(savedInstanceState);
        ...
        setContentView(R.Layout.main);
        ...
    }
    @Override
        public boolean onCreateOptionsMenu(Menu menu)
        {
            theMenu=menu;
            MenuInflater inflater=getMenuInflater();
            inflater.inflate(R.menu.main_optmenu, theMenu);
            return(super.onCreateOptionsMenu(menu)); 
        }
    public boolean onOptionsItemSelected(MenuItem item)
        {
            switch(item.getItemId())
            {
                case R.id.item1:
                LayoutInflater li=(LayoutInflater)getContext().getSystemService(LAYOUT_INFLATER_SERVICE);
                li.inflate(R.layout.mylayout,this,true);
            case R.id.item2:
                ...
            default:
                ....        
        }
    }
}
我得到2个错误-“getContext()未定义”,所以在搜索之后,我将其更改为getApplicationContext(),然后我就能够获得LAYOUT\u INFLATER\u服务

但在第二行中,不接受ViewGroup参数。。 错误消息是 LayoutFlater类型中的方法充气(int、ViewGroup、boolean)不适用于参数(int、test01、boolean)

似乎我没有为参数提供正确的值, 菜单本身工作正常,因为我可以用setContentView替换LayoutFlater

我非常感谢你的帮助, “谢谢

更换

li.充气(R.layout.mylayout,this,true);

替换

li.充气(R.layout.mylayout,this,true);


请在程序中使用base.oncreate(savedInstanceState)代替super.oncreate(savedInstanceState),并且您需要在方法中定义getcontext()。

请在程序中使用base.oncreate(savedInstanceState)代替super.oncreate(savedInstanceState),并且您还需要定义getcontext()在您的方法中…

为什么这样说?super.onCreate()是正确的调用方法。为什么这样说?super.onCreate()是正确的调用方法。
li.inflate(R.layout.mylayout,null);