在我们的团队中,我们最近更新了Xamarin Studio 6,因为它刚刚出来。不幸的是,Something在我们的Android应用程序中爆发了。
粗略地说,我们有一个Application
类,在OnCreate()中初始化。
namespace MyNamespace
{
[Application(Theme="@style/MyTheme")]
public class MyApplication : Android.App.Application
{
public MyApplication (IntPtr handle, JniHandleOwnership transfer)
: base (handle, transfer)
{
}
public override void OnCreate ()
{
// Never called
}
}
}
但是我们更新后不再调用OnCreate()
。一位研究员报告他重新安装了XS5,但仍有问题。这之前有用,所以有些改变,但是什么?
答案 0 :(得分:2)
正如其他人所指出的,新项目按预期呼叫Application.OnCreate()
。
我最终创建了一个新项目,并将所有文件从一个文件拖放到另一个文件。不好,但至少它有效。
修改强>
所以真的发生了什么。
我们的应用程序类继承自框架项目中的另一个类,如下所示:
class ParentApp
{
void OnCreate()
{
SubclassInit();
}
abstract void SubclassInit();
}
[Application]
class MyApp : ParentApp
{
void SubclassInit()
{
}
}
通过此设置,没有人被呼叫。
我们所要做的就是在OnCreate()
课程中添加MyApp
方法。
void OnCreate()
{
base.OnCreate();
}
现在它已经解决了。
答案 1 :(得分:-1)
您必须使用Xamrin版本更新Android和IOS最新版本