C# Xamarin Resource.Id不';我认不出
我已经在Xamarin中创建了新项目(空白应用程序),但在MainActivity.cs中,预设代码缺少按钮,SetContentView被注释。 因此,我手动添加了代码,但当我使用FindViewById创建按钮时,他无法识别Resource.Id,并将.Id标记为错误 Resource.designer.csC# Xamarin Resource.Id不';我认不出,c#,android,visual-studio,xamarin,C#,Android,Visual Studio,Xamarin,我已经在Xamarin中创建了新项目(空白应用程序),但在MainActivity.cs中,预设代码缺少按钮,SetContentView被注释。 因此,我手动添加了代码,但当我使用FindViewById创建按钮时,他无法识别Resource.Id,并将.Id标记为错误 Resource.designer.cs [System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")] p
[System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")]
public partial class Resource
{
static Resource()
{
global::Android.Runtime.ResourceIdManager.UpdateIdValues();
}
public static void UpdateIdValues()
{
}
public partial class Attribute
{
static Attribute()
{
global::Android.Runtime.ResourceIdManager.UpdateIdValues();
}
private Attribute()
{
}
}
public partial class Drawable
{
// aapt resource value: 0x7f020000
public const int Icon = 2130837504;
static Drawable()
{
global::Android.Runtime.ResourceIdManager.UpdateIdValues();
}
private Drawable()
{
}
}
public partial class Layout
{
// aapt resource value: 0x7f030000
public const int Main = 2130903040;
static Layout()
{
global::Android.Runtime.ResourceIdManager.UpdateIdValues();
}
private Layout()
{
}
}
public partial class String
{
// aapt resource value: 0x7f040001
public const int ApplicationName = 2130968577;
// aapt resource value: 0x7f040000
public const int Hello = 2130968576;
static String()
{
global::Android.Runtime.ResourceIdManager.UpdateIdValues();
}
private String()
{
}
}
}
maintactivty.cs
using System;
using Android.Runtime;
using Android.Views;
using Android.App;
using Android.Widget;
using Android.OS;
namespace App1
{
[Activity(Label = "App1", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);
Button button = FindViewById<Button>(Resource.Id.MyButton);
}
}
使用系统;
使用Android.Runtime;
使用Android.Views;
使用Android.App;
使用Android.Widget;
使用Android.OS;
名称空间App1
{
[活动(Label=“App1”,MainLauncher=true,Icon=“@drawable/Icon”)]
公共课活动:活动
{
创建时受保护的覆盖无效(捆绑包)
{
base.OnCreate(bundle);
//从“主”布局资源设置视图
SetContentView(Resource.Layout.Main);
Button Button=FindViewById(Resource.Id.MyButton);
}
}
错误:“资源”不包含“id”的定义
检查资源类是否由Xamarin生成。您可以在
资源
文件夹中找到Android项目下的文件(Resource.designer.cs
)。如果尚未生成,通常重建项目会再次生成它(除非某处出现语法错误)
为在.axml文件中创建的视图生成Resource.Id类变量
根据待完成评论中的答案进行编辑:
Resources
类应该包含一个内部的Id
类,它显然不包含该类。如果.axml文件中存在语法错误,则可能会发生这种情况,因为在这种情况下,Resources.designer.cs
文件将不会重新生成。或者您根本没有设置Id,您可以像这样添加Id:
Id我不知道您是否已经尝试过,但尝试重建项目:Build->rebuild All。我告诉您这一点是因为我遇到了类似的问题,并且我解决了重建项目的问题。希望这对您有所帮助。好的,我已经解决了问题!Main.xml中缺少
,并且AndroidManifest.xml中存在语法错误。如果仍然找不到资源Id,请重新启动Visual Studio。我正在使用2019。资源类已由Xamarin生成。请添加MainActivity.cs
、Resources.designer.cs
的内容,以及您遇到的问题的确切错误。好的,我已经添加了内容您粘贴了Resources.designer.cs
内容两次,缺少MainActivity.cs
。Resources
类应该包含一个内部Id
类,但它没有。您是如何在Main.axml文件中设置按钮的Id的?请确保将Id
设置为这样:
添加了MainActivity.cs。由于错误,我无法添加按钮