1

Xamarin.Forms (v. 2.3.3.175) で MasterDetailPage のカスタム レンダラーを作成しようとしています。コンテンツに比べて大きすぎるデフォルトのマスター幅を調整する必要があります。

残念ながら、カスタム レンダラー クラスが作成されるとすぐに「System.NullReferenceException」が発生します。すべてをクリーニングしましたが、まだエラーが発生します。MasterDetailRenderer からクラスを派生させるだけで問題が発生しているようです。

テストのために、カスタム レンダラーを次のように削除しました。

[assembly: Xamarin.Forms.ExportRenderer(typeof(Xamarin.Forms.ExMasterDetailPage), typeof(ExMasterDetailRenderer))]
namespace MDPageTest.Droid.Renderers {
    public class ExMasterDetailRenderer : MasterDetailRenderer
    { }
}

他に何もありません!それでもエラーが発生します。属性行にコメントを付ける (カスタム レンダラーを無効にする) か、クラスの派生を削除すると、問題が解決し、アプリは他のエラーなしで起動します。

他の誰かがそのような問題を経験していますか? それを修正する方法の手がかりはありますか?

前もって感謝します。乾杯、

M.

4

1 に答える 1

2

これの原因は、 yourがではなくMainActivityから継承されている可能性があります。カスタム レンダラーを名前空間から継承させることで、これを解決できるはずです。FormsAppCompatActivityFormsApplicationActivityMasterDetailPageRendererXamarin.Forms.Platform.Android.AppCompat

于 2017-01-05T15:24:06.090 に答える