Я пытаюсь надуть макет через пункт меню опций.код, который я пытался использовать, выглядит следующим образом:
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_INFLATER_SERVICE.
Но тогда во второй строке параметр ViewGroup не принимается. Сообщение об ошибке: «Метод inflate (int, ViewGroup, boolean) в типе LayoutInflater не применим для аргументов (int, test01, boolean)»
Кажется, я не предоставляю правильные значения для параметров, само меню работает нормально, так как я могу заменить LayoutInflater на setContentView
Я был бы очень признателен за вашу помощь, "спасибо