2016-06-17 1 views
0

조각을 가진보기 호출기가 있으므로 왼쪽과 오른쪽 조각을 전환 할 수 있습니다. 파편 중 하나에서부터 팝업을 보여주고 싶습니다. 이 ListPopupWindow 수 있어야합니다 가정합니다. 내가 가지고있는 것은 일부 데이터를 입력 할 수있는 EditText 필드입니다. 그런 다음 항목을 확인하고 일치하는 항목이 하나 있으면 좋습니다. 그러나 일치하는 항목이 두 개 이상있는 경우 팝업 창을 표시하여 어느 것이 올바른 결과인지 선택할 수 있습니다. 이것이 내가 ListPopupWindow라고 가정 한 이유이며 팝업 바로 전에 목록을 동적으로 채울 필요가 있습니다. 팝업 대신 목록보기가있는 새로운 조각을 슬라이드해야만하는지 궁금했습니다. 그러나이 순간에 ListPopupWindow 함께 있지만 Java.Lang.NullPointerException 오류 가져 오는 중 노력하고있어. 여기에 제가 지금까지 가지고있는 코드가 있습니다.이 코드는 언제든지 호출 할 수있는 메서드입니다. 여기 ListPopupWindow 내 조각에서 Java.Lang.NullPointerException 오류를 제공합니다

  ListPopupWindow popup = new ListPopupWindow(context); //context is passed in during onCreate of this fragment 

     List<string> listForPopup = new List<string>(); //Create a new list to show on the popup for the user to select 

     foreach (var c in validationResults) //Iterate through each of the possible results that the user must select 
     { 
      string name = lookupCourier(c.Item1); //The results only have an ID number, call lookup method to get the name from the ID. 
      listForPopup.Add(name); //Add to the new list. 
     } 

     var adapter = new ArrayAdapter<string>(context, Android.Resource.Layout.SimpleListItem1, listForPopup); //Array adapter from the list. 

     popup.SetAdapter(adapter); //Set the adapter to the popup list. 
     popup.Width = 300; //Set the width of the popup. 
     popup.Height = WindowManagerLayoutParams.WrapContent; //Have the popup window wrap the content. May have one or many to select from. Are there scroll bars? 
     popup.Modal = true; 
     popup.ItemClick += Popup_ItemClick; //Event handler to fire when the user selects the one item in the list. 


     popup.Show(); //Show popup. NOTE: This is there I get the null excpetion. 

그리고

(나는 배수가 있다고 생각) 예외의 스택 추적입니다 :

06-17 22:50:59.674 E/mono (4198): 
06-17 22:50:59.674 E/mono (4198): Unhandled Exception: 
06-17 22:50:59.674 E/mono (4198): Java.Lang.NullPointerException: Exception of type 'Java.Lang.NullPointerException' was thrown. 
06-17 22:50:59.674 E/mono (4198): at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() [0x0000c] in /Users/builder/data/lanes/2923/52635947/source/mono/external/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143 
06-17 22:50:59.674 E/mono (4198): at Java.Interop.JniEnvironment+InstanceMethods.CallVoidMethod (JniObjectReference instance, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x00084] in /Users/builder/data/lanes/2923/52635947/source/Java.Interop/src/Java.Interop/Java.Interop/JniEnvironment.g.cs:11643 
06-17 22:50:59.674 E/mono (4198): at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember, IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x00031] in /Users/builder/data/lanes/2923/52635947/source/Java.Interop/src/Java.Interop/Java.Interop/JniPeerMembers.JniInstanceMethods_Invoke.cs:26 
06-17 22:50:59.674 E/mono (4198): at Android.Widget.ListPopupWindow.Show() [0x00000] in /Users/builder/data/lanes/2923/52635947/source/monodroid/src/Mono.Android/platforms/android-23/src/generated/Android.Widget.ListPopupWindow.cs:1527 
06-17 22:50:59.674 E/mono (4198): at PocketPacTracAndroid.Track.popupToSelectCourier (System.Collections.Generic.List`1 validationResults) [0x000a4] in C:\Projects\PocketPacTracAndroid\PocketPacTracAndroid\PocketPacTracAndroid\Track.cs:225 
06-17 22:50:59.674 E/mono (4198): at PocketPacTracAndroid.Track.validateBarcode (System.String rawBarcode) [0x0014e] in C:\Projects\PocketPacTracAndroid\PocketPacTracAndroid\PocketPacTracAndroid\Track.cs:192 
06-17 22:50:59.674 E/mono (4198): at PocketPacTracAndroid.Track.Barcode_KeyPress (System.Object sender, Android.Views.KeyEventArgs e) [0x0001c] in C:\Projects\PocketPacTracAndroid\PocketPacTracAndroid\PocketPacTracAndroid\Track.cs:88 
06-17 22:50:59.674 E/mono (4198): at Android.Views.View+IOnKeyListenerImplementor.OnKey (Android.Views.View v, Keycode keyCode, Android.Views.KeyEvent e) [0x00018] in /Users/builder/data/lanes/2923/52635947/source/monodroid/src/Mono.Android/platforms/android-23/src/generated/Android.Views.View.cs:2854 
06-17 22:50:59.674 E/mono (4198): at Android.Views.View+IOnKeyListenerInvoker.n_OnKey_Landroid_view_View_ILandroid_view_KeyEvent_ (IntPtr jnienv, IntPtr native__this, IntPtr native_v, Int32 native_keyCode, IntPtr native_e) [0x0001c] in /Users/builder/data/lanes/2923/52635947/source/monodroid/src/Mono.Android/platforms/android-23/src/generated/Android.Views.View.cs:2787 
06-17 22:50:59.674 E/mono (4198): at (wrapper dynamic-method) System.Object:22b2513e-fc1d-45f2-938f-fbc85af3219a (intptr,intptr,intptr,int,intptr) 
06-17 22:50:59.674 E/mono (4198): --- End of managed exception stack trace --- 
06-17 22:50:59.674 E/mono (4198): java.lang.NullPointerException 
06-17 22:50:59.674 E/mono (4198): at android.widget.PopupWindow.getMaxAvailableHeight(PopupWindow.java:1219) 
06-17 22:50:59.674 E/mono (4198): at android.widget.ListPopupWindow.buildDropDown(ListPopupWindow.java:1090) 
06-17 22:50:59.674 E/mono (4198): at android.widget.ListPopupWindow.show(ListPopupWindow.java:524) 
06-17 22:50:59.674 E/mono (4198): at mono.android.view.View_OnKeyListenerImplementor.n_onKey(Native Method) 
06-17 22:50:59.674 E/mono (4198): at mono.android.view.View_OnKeyListenerImplementor.onKey(View_OnKeyListenerImplementor.java:30) 
06-17 22:50:59.674 E/mono (4198): at android.view.View.dispatchKeyEvent(View.java:7081) 
06-17 22:50:59.674 E/mono (4198): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1358) 
06-17 22:50:59.674 E/mono (4198): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1358) 
06-17 22:50:59.674 E/mono (4198): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1358) 
06-17 22:50:59.674 E/mono (4198): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1358) 
06-17 22:50:59.674 E/mono (4198): at android.support.v4.view.ViewPager.dispatchKeyEvent(ViewPager.java:2567) 
06-17 22:50:59.674 E/mono (4198): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1358) 
06-17 22:50:59.674 E/mono (4198): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1358) 
06-17 22:50:59.674 E/mono (4198): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1358) 
06-17 22:50:59.674 E/mono (4198): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1358) 
06-17 22:50:59.674 E/mono (4198): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchKeyEvent(PhoneWindow.java:1892) 
06-17 22:50:59.674 E/mono (4198): at com.android.internal.policy.impl.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1369) 
06-17 22:50:59.674 E/mono (4198): at android.app.Activity.dispatchKeyEvent(Activity.java:2356) 
06-17 22:50:59.674 E/mono (4198): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1819) 
06-17 22:50:59.674 E/mono (4198): at android.view.ViewRootImpl.deliverKeyEventPostIme(ViewRootImpl.java:3575) 
06-17 22:50:59.674 E/mono (4198): at android.view.ViewRoot 
06-17 22:50:59.674 E/mono-rt (4198): [ERROR] FATAL UNHANDLED EXCEPTION: Java.Lang.NullPointerException: Exception of type 'Java.Lang.NullPointerException' was thrown. 
06-17 22:50:59.674 E/mono-rt (4198): at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() [0x0000c] in /Users/builder/data/lanes/2923/52635947/source/mono/external/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143 
06-17 22:50:59.674 E/mono-rt (4198): at Java.Interop.JniEnvironment+InstanceMethods.CallVoidMethod (JniObjectReference instance, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x00084] in /Users/builder/data/lanes/2923/52635947/source/Java.Interop/src/Java.Interop/Java.Interop/JniEnvironment.g.cs:11643 
06-17 22:50:59.674 E/mono-rt (4198): at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember, IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x00031] in /Users/builder/data/lanes/2923/52635947/source/Java.Interop/src/Java.Interop/Java.Interop/JniPeerMembers.JniInstanceMethods_Invoke.cs:26 
06-17 22:50:59.674 E/mono-rt (4198): at Android.Widget.ListPopupWindow.Show() [0x00000] in /Users/builder/data/lanes/2923/52635947/source/monodroid/src/Mono.Android/platforms/android-23/src/generated/Android.Widget.ListPopupWindow.cs:1527 
06-17 22:50:59.674 E/mono-rt (4198): at PocketPacTracAndroid.Track.popupToSelectCourier (System.Collections.Generic.List`1 validationResults) [0x000a4] in C:\Projects\PocketPacTracAndroid\PocketPacTracAndroid\PocketPacTracAndroid\Track.cs:225 
06-17 22:50:59.674 E/mono-rt (4198): at PocketPacTracAndroid.Track.validateBarcode (System.String rawBarcode) [0x0014e] in C:\Projects\PocketPacTracAndroid\PocketPacTracAndroid\PocketPacTracAndroid\Track.cs:192 
06-17 22:50:59.674 E/mono-rt (4198): at PocketPacTracAndroid.Track.Barcode_KeyPress (System.Object sender, Android.Views.KeyEventArgs e) [0x0001c] in C:\Projects\PocketPacTracAndroid\PocketPacTracAndroid\PocketPacTracAndroid\Track.cs:88 
06-17 22:50:59.674 E/mono-rt (4198): at Android.Views.View+IOnKeyListenerImplementor.OnKey (Android.Views.View v, Keycode keyCode, Android.Views.KeyEvent e) [0x00018] in /Users/builder/data/lanes/2923/52635947/source/monodroid/src/Mono.Android/platforms/android-23/src/generated/Android.Views.View.cs:2854 
06-17 22:50:59.674 E/mono-rt (4198): at Android.Views.View+IOnKeyListenerInvoker.n_OnKey_Landroid_view_View_ILandroid_view_KeyEvent_ (IntPtr jnienv, IntPtr native__this, IntPtr native_v, Int32 native_keyCode, IntPtr native_e) [0x0001c] in /Users/builder/data/lanes/2923/52635947/source/monodroid/src/Mono.Android/platforms/android-23/src/generated/Android.Views.View.cs:2787 
06-17 22:50:59.674 E/mono-rt (4198): at (wrapper dynamic-method) System.Object:22b2513e-fc1d-45f2-938f-fbc85af3219a (intptr,intptr,intptr,int,intptr) 
06-17 22:50:59.674 E/mono-rt (4198): --- End of managed exception stack trace --- 
06-17 22:50:59.674 E/mono-rt (4198): java.lang.NullPointerException 
06-17 22:50:59.674 E/mono-rt (4198): at android.widget.PopupWindow.getMaxAvailableHeight(PopupWindow.java:1219) 
06-17 22:50:59.674 E/mono-rt (4198): at android.widget.ListPopupWindow.buildDropDown(ListPopupWindow.java:1090) 
06-17 22:50:59.674 E/mono-rt (4198): at android.widget.ListPopupWindow.show(ListPopupWindow.java:524) 
06-17 22:50:59.674 E/mono-rt (4198): at mono.android.view.View_OnKeyListenerImplementor.n_onKey(Native Method) 
06-17 22:50:59.674 E/mono-rt (4198): at mono.android.view.View_OnKeyListenerImplementor.onKey(View_OnKeyListenerImplementor.java:30) 
06-17 22:50:59.674 E/mono-rt (4198): at android.view.View.dispatchKeyEvent(View.java:7081) 
06-17 22:50:59.674 E/mono-rt (4198): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1358) 
06-17 22:50:59.674 E/mono-rt (4198): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1358) 
06-17 22:50:59.674 E/mono-rt (4198): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1358) 
06-17 22:50:59.674 E/mono-rt (4198): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1358) 
06-17 22:50:59.674 E/mono-rt (4198): at android.support.v4.view.ViewPager.dispatchKeyEvent(ViewPager.java:2567) 
06-17 22:50:59.674 E/mono-rt (4198): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1358) 
06-17 22:50:59.674 E/mono-rt (4198): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1358) 
06-17 22:50:59.674 E/mono-rt (4198): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1358) 
06-17 22:50:59.674 E/mono-rt (4198): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1358) 
06-17 22:50:59.674 E/mono-rt (4198): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchKeyEvent(PhoneWindow.java:1892) 
06-17 22:50:59.674 E/mono-rt (4198): at com.android.internal.policy.impl.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1369) 
06-17 22:50:59.674 E/mono-rt (4198): at android.app.Activity.dispatchKeyEvent(Activity.java:2356) 
06-17 22:50:59.674 E/mono-rt (4198): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1819) 
06-17 22:50:59.674 E/mono-rt (4198): at android.view.ViewRootImpl.deliverKeyEventPostIme(ViewRootImpl.java:3575) 
06-17 22:50:59.674 E/mono-rt (4198): at andro 

이 사람이 (나에게이 오류가 무엇인지 이해하는 데 도움이 바랍니다 수 있고 그것을 해결하는 방법을 경우, 즉 GET 내 조각에서 작동하는 팝업 창) 그게 인정 될 것입니다. 나는 나의 목표를 성취하기위한 다른 제안들에 대해서도 열려있다.

감사합니다.

답변

0

ListPopupWindow에 앵커를 설정해야합니다. 이처럼 앵커로보기를 설정할 수 있습니다. -

popup.setAnchorView(<your_view_here_to_which_you_want_it_to_be_anchored>); 
+0

감사합니다. 차이점은 Xamarin이 속성으로 일부를 노출한다는 것입니다. 따라서 –

+0

대신 죄송합니다. 잘못된 버튼을 누르십시오. 그래서,'popup.setAnchorView (view)'대신에'popup.SetAnchorView = view;'가 사용되었습니다. 또한 뷰를 View View로 전역 적으로 정의한 다음 onCreateView에이 객체를 할당해야합니다. public override View OnCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { view = inflater.Inflate (Resource.Layout .Track, container, false);' –

관련 문제