我正在尝试通过选项菜单项来扩展布局。我尝试使用的代码如下
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 参数。错误消息是“LayoutInflater 类型中的方法 inflate(int, ViewGroup, boolean) 不适用于参数 (int, test01, boolean)”
似乎我没有为参数提供正确的值,菜单本身工作正常,因为我可以用 setContentView 替换 LayoutInflater
我非常感谢您的帮助,“谢谢