库项目中的Xamarin Android布局资源未包含在应用程序中
我有一个XamarinAndroid库项目,它被一个Android应用程序项目引用 库项目具有库项目组件需要使用的布局文件。Resource.designer.cs文件似乎已正确生成。布局被标记为Android资源。但在运行时,资源并不存在。尝试访问它们只会返回0 在阅读了所有关于这个主题的问题之后,我相信这应该是可行的,但到目前为止还不行。想法库项目中的Xamarin Android布局资源未包含在应用程序中,xamarin,xamarin.android,Xamarin,Xamarin.android,我有一个XamarinAndroid库项目,它被一个Android应用程序项目引用 库项目具有库项目组件需要使用的布局文件。Resource.designer.cs文件似乎已正确生成。布局被标记为Android资源。但在运行时,资源并不存在。尝试访问它们只会返回0 在阅读了所有关于这个主题的问题之后,我相信这应该是可行的,但到目前为止还不行。想法 创建Android类库。 在此类库中创建布局文件夹并在此文件夹中创建布局。 在xamarin android应用程序中添加代码 var btn_L
var btn_Load = FindViewById<Button>(Resource.Id.btn_LoadLibraryLayout);
btn_Load.Click += delegate
{
SetContentView(ClassLibrary1.Resource.Layout.library_layout);
};
var resId2 = Resources.GetIdentifier("library_layout", "layout", PackageNname);
int resId2 = Resources.GetIdentifier("library_layout", "layout", "com.companyname.app1");
com.companyname.app1
您也可以直接在app1活动中使用代码
var resId2 = Resources.GetIdentifier("library_layout", "layout", PackageNname);
int resId2 = Resources.GetIdentifier("library_layout", "layout", "com.companyname.app1");
我想这就是为什么我找不到关于这个问题的信息。从理论上讲,它应该“起作用”。但是,当我尝试在运行时从应用程序项目访问与
ClassLibrary1.Resource.Layout.library\u Layout
相当的内容时,它是0
。此外,如果我尝试从库项目代码中访问资源,则资源为0
。我已经删除了Resource.Designer.cs
,它可以很好地重新生成。很奇怪,也许我们能找到这个。我打开了您的示例并将以下行添加到MainActivity.cs
intresid=Resources.GetIdentifier(“库布局”、“布局”、“类库1”)实际上,它返回0
。库引用是否不正确?由于包名错误,您得到了“0”。我已经更新了我的回复,请检查。我想这个答案是正确的,但问题是库项目代码必须知道它在哪个应用程序中,这样库代码才能访问资源。