我有一个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
文件夹,没有运气。任何帮助将非常感激。