2

I am trying to inflate a layout through an options menu item. code i tried to use is as follows

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:
                ....        
        }
    }
}

i get 2 errors - "getContext() is undefined" so after searching i changed it to getApplicationContext() then i am able to obtain LAYOUT_INFLATER_SERVICE.

But then in the second line the ViewGroup parameter is not accepted.. Error message is "The method inflate(int, ViewGroup, boolean) in the type LayoutInflater is not applicable for the arguments (int, test01, boolean)"

It seems i am not providing the correct values for the parameters, The menu itself works fine as i am able to replace LayoutInflater with setContentView

I would really appreciate your help , "thanks

Dirk Jäckel
  • 2,979
  • 3
  • 29
  • 47
Deepak
  • 1,238
  • 3
  • 22
  • 47

2 Answers2

0

Replace

li.inflate(R.layout.mylayout,this,true);

with

li.inflate(R.layout.mylayout,null);
Aditya Kushwaha
  • 839
  • 6
  • 12
-1

Please use base.oncreate(savedInstanceState) instead for super.oncreate(savedInstanceState) in your program...and also you need to define getcontext () in your method...

vivek
  • 259
  • 2
  • 5