2017-02-20 25 views
0

ボタンを数回押したときに問題を解決したい - 同じページの多くを提供します。私はそのようなコードをここに見つけました。ボタンを複数回押すと複数のページが読み込まれます(Android)

var stack = Navigation.NavigationStack; 
if (stack[stack.Count - 1].GetType() != typeof(DetailsPage)) 
await Navigation.PushAsync (new DetailsPage()); 

Navigation.NavigationStack - 正常に動作します。 Navigation.ModalStack - doesn t work. But I can名前を取得します。

この解決策を手伝ってください。

+2

を無効にしますモーダルページに移動する前のボタン? –

+0

@Bill Reiss。私はこの解決策を知っているが、私はそれが良い解決策ではないと思う。 –

+0

@BillReissソリューションは正しいものです。 –

答えて

3

この共通の問題に関するさまざまなスレッドがあり、私はあなたがすでにそれについてコメントフォーラムで見ることができ、またあるNavigationExtensionsクラス:ここ

public static class NavigationExtensions 
{ 
    public static async Task PushModalAsyncSingle(this INavigation nav, Page page, bool animated = false) 
    { 
     if (App.Navigation.ModalStack.Count == 0 || 
      App.Navigation.ModalStack.Last().GetType() != page.GetType()) 
     { 
      await nav.PushModalAsync(page, animated); 
     } 
    } 

    public static async Task PushAsyncSingle(this INavigation nav, Page page, bool animated = false) 
    { 
     if (App.Navigation.NavigationStack.Count == 0 || 
      App.Navigation.NavigationStack.Last().GetType() != page.GetType()) 
     { 
      await nav.PushAsync(page, animated); 
     } 
    } 
} 

は議論です: https://forums.xamarin.com/discussion/29787/double-tapping-in-xamarin-forms-on-android

関連する問題