2016-11-04 62 views
0

我有一个MasterDetailPage而这个页面推送到导航:无法激活类型的实例NavigationPageRenderer

await MainPage.Navigation.PushAsync(new MasterDevicePage()); 

当主设备页面加载纸张,则母版页的列表视图会再选择页面的一个并将其显示在详细信息屏幕上。

masterPage.ListView.ItemSelected += (sender, e) => 
     { 
      var item = e.SelectedItem as MasterPageModel; 
      if (item != null) 
      { 
       Detail = new NavigationPage((Page)Activator.CreateInstance(item.TargetType)); 
       Detail.Title = item.Title; 
       masterPage.ListView.SelectedItem = null; 
       IsPresented = false; 
      } 
     }; 

错误发生在Detail = new NavigationPage部件。

没有构造发现 Xamarin.Forms.Platform.Android.AppCompat.NavigationPageRenderer ::。ctor的(System.IntPtr, Android.Runtime.JniHandleOwnership)

无法激活 类型Xamarin的实例.Forms.Platform.Android.AppCompat.NavigationPageRenderer从 本地句柄0x85300019(key_handle 0x42c360f8)。

+1

你看过吗:https://bugzilla.xamarin.com/show_bug.cgi?id = 40258? –

回答

2

你可以尝试修复它提供构造

public YourClass (IntPtr javaReference, JniHandleOwnership transfer) 
      : base() 
     { 
     } 

但 MasterDetailPage都不应推到导航堆栈。

+0

谢谢我使用L先生的链接,导致我到https://gist.github.com/SeeD-Seifer/ff8b522f7e8b55ec719f68e1765b0314,其中有一个可以解决问题的渲染器类。 – LittleFunny