2016-06-27 18 views
0

对于我的业务,​​另一位开发人员和我自己正在开发移动文本和语音应用程序。我们希望将一堆切换小部件作为“设置”页面添加到我们的一个页面。但是,当我在调试器仿真器上运行它时,我得到一个空指针错误,没有关于问题的信息。我们能够确定它是不可用的符号,因为我的开发人员运行相同的代码,得到的文本显示,但该符号仍然没有显示。但是他没有得到同样的错误。Xamarin - Android应用程序开发 - 开关图标丢失并导致NullPointer

为了进一步测试,我创建了一个空白项目,将Switch添加到相同的样式布局,并且没有任何问题地运行它。

我只在布局的XML中添加开关。

有没有一种方法可以修复/添加图像以删除空指针?谢谢!

编辑:一个错误日志中我收到:

W/dalvikvm(1965): threadid=1: thread exiting with uncaught exception(group=0xa8cbbb20) 
Unhandled Exception: 

Java.Lang.NullPointerException: 

06-27 16:49:39.449 E/AndroidRuntime(1965): FATAL EXCEPTION: main 
06-27 16:49:39.449 E/AndroidRuntime(1965): Process: SecureMobileApp.Droid, PID: 1965 
06-27 16:49:39.449 E/AndroidRuntime(1965): java.lang.NullPointerException 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at android.widget.Switch.jumpDrawablesToCurrentState(Switch.java:825) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5488) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5488) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at android.widget.FrameLayout.jumpDrawablesToCurrentState(FrameLayout.java:189) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5488) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5488) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at android.widget.FrameLayout.jumpDrawablesToCurrentState(FrameLayout.java:189) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5488) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at android.view.ViewGroup.jumpDrawablesToCurrentState(ViewGroup.java:5488) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at android.widget.FrameLayout.jumpDrawablesToCurrentState(FrameLayout.java:189) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at android.view.View.onAttachedToWindow(View.java:12116) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at android.view.ViewGroup.onAttachedToWindow(ViewGroup.java:3497) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at com.android.internal.policy.impl.PhoneWindow$DecorView.onAttachedToWindow(PhoneWindow.java:2659) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at android.view.View.dispatchAttachedToWindow(View.java:12585) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2458) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1213) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:996) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5600) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at android.view.Choreographer.doCallbacks(Choreographer.java:574) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at android.view.Choreographer.doFrame(Choreographer.java:544) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at android.os.Handler.handleCallback(Handler.java:733) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at android.os.Handler.dispatchMessage(Handler.java:95) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at android.os.Looper.loop(Looper.java:136) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at android.app.ActivityThread.main(ActivityThread.java:5001) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at java.lang.reflect.Method.invokeNative(Native Method) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at java.lang.reflect.Method.invoke(Method.java:515) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 
06-27 16:49:39.449 E/AndroidRuntime(1965):  at dalvik.system.NativeStart.main(Native Method) 
+0

你可以添加相关的代码片段,错误日志和你试过的东西吗?理想情况下,这听起来像你根本没有设置任何东西,它将作为NRE出现。 –

+0

switch * statement *是一个C#构造;一个Switch * widget *是一个Android UI控件。我假设你的意思是后者,但你的问题具体说“声明” – Jason

+0

对不起杰森,谢谢你的抓住 –

回答

0

如果有人跑进了同样的问题我已经发现了这个问题。我正在与一个团队合作,其他开发人员之一已经更改了最低SDK,它位于第15层,但已更改为第4层。您至少需要14级的最低SDK才能使用开关小部件。

相关问题