这是我的菜单axml的一部分:
<item
android:id="@+id/payBill"
android:title="Pay Bill"/>
如果在应用操作过程中,我想将此菜单项文本更改为:
<item
android:id="@+id/payBill"
android:title="Paid Bill"/>
我将如何访问菜单项?
我已经尝试过了:
public override bool OnCreateOptionsMenu(IMenu menu)
{
MenuInflater.Inflate(Resource.Menu.menu1, menu);
myMenu = (Android.Views.Menu)menu;
return base.OnCreateOptionsMenu(menu);
}
其中myMenu被声明为Menu myMenu;
但是当代码到达该行时,我得到“特定的转换无效”。
如果我不使用此代码,而是稍后尝试动态引用菜单项:
IMenuItem item = (IMenuItem)FindViewById(Resource.Id.payPaid);
item.Title="Paid";
项目为空。
我知道我可以在OnOptionsItemSelected(IMenuItem item)中修改菜单标题
但是在菜单标题出现之前,我需要对其进行修改。
我知道了:
我有一个全局变量:
IMenu myMenu; 然后在
public override bool OnCreateOptionsMenu(IMenu menu)
{
MenuInflater.Inflate(Resource.Menu.menu1, menu);
myMenu = menu;
return base.OnCreateOptionsMenu(menu);
}
稍后,当程序输入代码以更改菜单文本时:
IMenuItem item = myMenu.FindItem(Resource.Id.getPaid);
item.SetTitle("Paid");