2014-10-09 58 views
0

我是Xamarin的新手,我正在创建一个Android应用程序。如何使用Xamarin更改Android中的活动?

我创建了一个2 Views与2个不同的Activities相关。第一个Activity,名称为A,有一个启动第二个Activity的按钮,将其命名为B

B具有连接,在OnCreate方法中,为了AEvent一个EventHandler。在控制台上打印EventHandler一个字符串,就是这样。

如果我启动应用程序并按A的按钮,则会出现B活动。现在,如果我按Back按钮,A活动再次出现,之后我再次按下按钮,并且B活动出现,但这是新的B活动遗产,而不是前一个。我可以看到,因为OnCreate方法被调用了两次,并且因为我可以在控制台上看到事件被调用了两次。

如果我重复了很多次,我可以看到控制台上打印的相同字符串重复多次。我想只有任何活动的一个实例,因此我需要更改视图而不创建已创建的一个活动的更多信息,或者在按下Back按钮时销毁B活动。

我该怎么做?这是正确的做法吗?

回答

0

你不能连接两个活动,或者更好,你真的不应该。如果你需要共享数据然后通过静态属性(可能在一个单独的静态类中)。 阅读关于activity lifecycleactivity launch modes。请注意,您可能会创建错误的流程。

+0

我如何'Resume'活动?我已经测试过各种_Launch Mode_,但它不起作用。 – Gappa 2014-10-09 09:14:00

0

我认为,为了得到你想要的东西(有两个“活动”的实例是总是当你在它们之间切换一样)在FragmentPagerAdapter,你基本上需要使用片段而不是活动, 。

http://developer.xamarin.com/guides/android/platform_features/fragments/part_1_-_creating_a_fragment/

FragmentPagerAdapter Exists Only In Android.Support.V4.App (and not Android.App)

+0

认为'A'是一个菜单,您可以在其中扔出不同的东西,而'B'是当用户在菜单活动中选择一个按钮时打开的那些东西之一。所以我不会只有2个活动,但_n_。 – Gappa 2014-10-09 09:12:48

相关问题