2014-10-09 61 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

相關問題