C# 资源不包含菜单的定义
我正在学习使用xamarin构建应用程序,在创建选项菜单时出错。 代码和元数据粘贴在下面C# 资源不包含菜单的定义,c#,xamarin.android,C#,Xamarin.android,我正在学习使用xamarin构建应用程序,在创建选项菜单时出错。 代码和元数据粘贴在下面 public override bool OnCreateOptionsMenu(IMenu menu) { MenuInflater inflater = MenuInflater; inflater.Inflate(Resource.Menu.Options, menu); return true; //return base.OnCreateOptionsMenu(me
public override bool OnCreateOptionsMenu(IMenu menu)
{
MenuInflater inflater = MenuInflater;
inflater.Inflate(Resource.Menu.Options, menu);
return true;
//return base.OnCreateOptionsMenu(menu);
}
public override bool OnOptionsItemSelected(IMenuItem item)
{
if (item.ItemId == Resource.Id.action_refresh)
{
return true;
}
return base.OnOptionsItemSelected(item);
}
元数据粘贴如下:
public partial class Menu
{
// aapt resource value: 0x7F0C0000
public const int Options = 2131492864;
static Menu()
{
global::Android.Runtime.ResourceIdManager.UpdateIdValues();
}
public const int action_refresh = 2131230744;
这是使用Resource.Id.action_刷新时出现的第二个错误,设计器的元数据粘贴在下面:
public partial class Menu
{
// aapt resource value: 0x7F0C0000
public const int Options = 2131492864;
static Menu()
{
global::Android.Runtime.ResourceIdManager.UpdateIdValues();
}
public const int action_refresh = 2131230744;
这是输出:
1> ----构建已启动:项目:AndApp,配置:调试任何CPU----1>C:\Users\simon\source\repos\AndApp\AndApp\AndApp\MainActivity.cs(31,39,31,43):错误CS0117:“资源”不包含“菜单”1>C:\Users\simon\source\repos\AndApp\AndApp\MainActivity.cs(37,44,37,58)的定义:错误CS0117:'Resource.Id'不包含'action_refresh'的定义===========生成:0成功,1失败,0最新,0跳过==========================部署:0成功,0失败,0跳过==========
如果需要使用资源.菜单,则需要在资源文件夹下方创建一个菜单文件夹 然后在其中创建.xml文件。例如:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:title="@string/action_settings"
app:showAsAction="never" />
</menu>
注意:在资源中添加新元素时,最好清理项目并重建它。然后可以在代码中使用新元素。若还显示资源元素的红色下划线,则可以忽略它以继续构建和运行项目。它通常会成功运行。因为有时候VisualStudio无法立即将新元素更新为代码。我这样做了,我的XML文件名是Options,文件夹名是menu,就像u saidI也清理了solution@AmazingPets好的,关闭VS,然后重新启动它,检查它是否工作。@AmazingPets以及
菜单
文件夹名的第一个单词是否为小写字母?否仍然相同,options.xml位于Resource.designer.cs,并从那里调用,而不是从文件夹的位置调用。