我们有一个继承自常规Android按钮的CustomButton。出于某种原因,在华为设备的构造函数中传递了null上下文,导致应用程序崩溃。知道为什么吗?这是崩溃转储:
java.lang.RuntimeException:无法启动活动 ComponentInfo {com.project.test / com.project.test.FullscreenActivity}: android.view.InflateException:二进制XML文件行#31:错误 inflate class sdk.project.widget.ProjectButton at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2078) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2103) 在android.app.ActivityThread.access $ 600(ActivityThread.java:137)at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1211) 在android.os.Handler.dispatchMessage(Handler.java:99)at android.os.Looper.loop(Looper.java:137)at android.app.ActivityThread.main(ActivityThread.java:4842)at java.lang.reflect.Method.invokeNative(Native Method)at java.lang.reflect.Method.invoke(Method.java:511)at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:842) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)at dalvik.system.NativeStart.main(Native方法)引起: android.view.InflateException:二进制XML文件行#31:错误 inflate class sdk.project.widget.ProjectButton at android.view.LayoutInflater.createView(LayoutInflater.java:613)at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687) 在android.view.LayoutInflater.rInflate(LayoutInflater.java:746)at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)at android.view.LayoutInflater.inflate(LayoutInflater.java:489)at android.view.LayoutInflater.inflate(LayoutInflater.java:396)at android.view.LayoutInflater.inflate(LayoutInflater.java:352)at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:256) 在android.app.Activity.setContentView(Activity.java:1867)at com.project.test.FullscreenActivity.onCreate(FullscreenActivity.java:43) 在android.app.Activity.performCreate(Activity.java:5010)at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2042) ... 11更多引起:java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.constructNative(Native Method)at java.lang.reflect.Constructor.newInstance(Constructor.java:417)at android.view.LayoutInflater.createView(LayoutInflater.java:587)... 23 更多引起:java.lang.NullPointerException at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:242) 在 android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:164) 在sdk.project.data.ProjectDbManager。(ProjectDbManager.java:38)at sdk.project.data.ProjectDbManager.getInstance(ProjectDbManager.java:26) 在 sdk.project.widget.ProjectButtonHelper.initializeState(ProjectButtonHelper.java:367) 在 sdk.project.widget.ProjectButton.setInitialButtonState(ProjectButton.java:153) 在 sdk.project.widget.ProjectButton.initializeButton(ProjectButton.java:137) 在sdk.project.widget.ProjectButton。(ProjectButton.java:119)... 26 更