我有一个MonoDroid应用程序项目(我们称之为mainApp)。此引用app.Screen项目,这是一个 MFA 库项目。最初,我的活动是在mainApp项目中。一切正常。我需要在项目中放置一些活动(和资源、可绘制对象等)app.Screen。我已将我需要的所有资源转移到app.Screen项目中。它构建良好,并且在我的活动(位于 app.screens 中)中我可以访问Resource.Layout.filename,甚至可以访问Layout.Id.name.
但是,当我运行应用程序时,SetContentView(Resource.Layout.filename)我得到了错误的布局文件。这显然会导致FindById<Button>()返回null,因为它在此布局文件中没有这些按钮。
我发现我的 MFA 库项目中的相同 Layout 文件的 Id 与 mainApp 项目中的 Id 不同,如下所示:
// In the mainApp project
public partial class Layout
{
// aapt resource value: 0x7f030001
public const int DeliveryScreenLayout = 2130903041;
// aapt resource value: 0x7f03000a
public const int splash_screen_layout = 2130903050;
private Layout()
{
}
}
// in app.screen library project
public partial class Layout
{
// aapt resource value: 0x7f030000
public static int has_hello_layout = 2130903040;
// aapt resource value: 0x7f030001
public static int splash_screen_layout = 2130903041;
private Layout()
{
}
}
我正在使用带有 MFA 4.0 的 VS 2010,并且我的项目针对的是 Android 4.0。我试过Clean & Build,删除/Bin和/Obj文件夹,没有运气。任何帮助将非常感激。