Xamarin - Android应用程序开发-开关图标丢失并导致空指针
本文关键字:空指针 图标 Android 应用程序开发 开关 Xamarin | 更新日期: 2023-09-27 17:51:20
对于我的业务,另一个开发人员和我自己正在开发一个移动文本和语音应用程序。我们想添加一堆开关小部件到我们的一个页面作为设置页面。但是,当我在调试器模拟器上运行它时,我得到一个空指针错误,没有问题所在的信息。我们能够确定这是符号不可用,因为我的同事开发人员运行相同的代码,得到文本显示,但符号仍然没有显示。然而,他没有得到同样的错误。
为了进一步测试,我创建了一个空白项目,将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)
如果有人遇到同样的问题,我已经发现了这个问题。我正在与一个团队合作,其中一名开发人员更改了最低SDK,它在第15级,但已更改为第4级。你至少需要一个14级的最低SDK才能使用switch小部件。