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)
你可以添加相关的代码片段,错误日志和你试过的东西吗?理想情况下,这听起来像你根本没有设置任何东西,它将作为NRE出现。 –
switch * statement *是一个C#构造;一个Switch * widget *是一个Android UI控件。我假设你的意思是后者,但你的问题具体说“声明” – Jason
对不起杰森,谢谢你的抓住 –