我目前正在實施一個跨平臺的應用程序內Android和iOS。NavigationDrawer AddFooter方法MvxListView - 的NullReferenceException
因爲我想用MvvmCross和彈出導航,如果發現本傑明Hysell的演示(使用DrawerLayout)非常有幫助的:
代碼: https://github.com/benhysell/V.FlyoutTest
基礎的在此代碼中,我想在彈出導航中的菜單下添加一些其他控件。
所以在HomeView,我的方法
protected override void OnCreate(Bundle savedInstanceState)
{
// ....
var layout = this.BindingInflate(Resource.Layout.DrawerFooterView, null);
drawerList.AddFooterView(layout);
}
的末尾添加以下代碼現在,當我啓動應用程序,我可以看到寄託都蠻好,包括在彈出菜單我的額外控制。但是,一旦我點擊菜單項,我MvvmCross得到一個NullReferenceException:
04-25 17:42:20.892 I/MonoDroid(32443): UNHANDLED EXCEPTION: System.NullReferenceException: Object reference not set to an instance of an object
04-25 17:42:20.892 I/MonoDroid(32443): at Cirrious.MvvmCross.Binding.Droid.Views.MvxListView.ExecuteCommandOnItem (System.Windows.Input.ICommand,int) <IL 0x0000b, 0x000a0>
04-25 17:42:20.892 I/MonoDroid(32443): at Cirrious.MvvmCross.Binding.Droid.Views.MvxListView.<EnsureItemClickOverloaded>b__0 (object,Android.Widget.AdapterView/ItemClickEventArgs) <IL 0x0000d, 0x000a7>
04-25 17:42:20.892 I/MonoDroid(32443): at Android.Widget.AdapterView/IOnItemClickListenerImplementor.OnItemClick (Android.Widget.AdapterView,Android.Views.View,int,long) [0x0000d] in /Users/builder/data/lanes/monodroid-mlion-monodroid-4.12-series/a1e3982a/source/monodroid/src/Mono.Android/platforms/android-15/src/generated/Android.Widget.AdapterView.cs:261
04-25 17:42:20.892 I/MonoDroid(32443): at (wrapper dynamic-method) object.289e379c-ed35-42d0-8505-cc91a6c90d7b (intptr,intptr,intptr,intptr,int,long) <IL 0x00029, 0x0009b>
任何人都可以給這個問題提供幫助,因爲我的想法。
任何幫助,將不勝感激。
什麼是您的佈局和視圖模型是什麼樣子? – Kiliman
@Kiliman,'DrawerFooterView'的佈局是一個帶有幾個TextViews的簡單的LinearLayout,'DrawerFooterViewModel'是空的,因爲這些TextViews都沒有綁定到任何屬性。 – gridr
可能鏈接到https://github.com/MvvmCross/MvvmCross/issues/602 – Stuart