首页 文章

从Datepicker获取时无法实例化活动ComponentInfo java.lang.NullPointerException

提问于
浏览
0

为什么我的代码不能与错误空指针异常一起使用,

这是我的代码

public void onStart(){
        super.onStart();
        final Calendar kal = Calendar.getInstance();
        tahun = kal.get(Calendar.YEAR);
        bulan = kal.get(Calendar.MONTH);
        tanggal = kal.get(Calendar.DAY_OF_MONTH);
       tampilkan_tanggal();

    }

而且,这是我的日志

E / AndroidRuntime:FATAL EXCEPTION:main进程:com.example.client18.dd,PID:6306 java.lang.RuntimeException:无法实例化活动ComponentInfo {com.example.client18.dd / com.example.client18.dd . signup_activity}:android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2121)的android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)的android.app.ActivityThread.access $ 800(ActivityThread . )的java.lang.NullPointerException . java:135)在android.app.A.运行时,Android.O.Roper.loop(Looper.java:136)上的android.app.Handler.dispatchMessage(Handler.java:102)的android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1196) )在android.app.ActivityThread.main(ActivityThread.java:5021)的java.lang.reflect.Method.invokeNative(Native Method)at java.lang.reflect.Method.invoke(Method.java:515)at com . android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:827)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:643)at dalvik.system.NativeStart.main(Na tive方法)由以下内容引起:java.slang.NullPointerException:android.support.v7.app.AppCompatDelegateImplBase . (AppCompatDelegateImplBase.java:116)android.support.v7.app.AppCompatDelegateImplV9 . (AppCompatDelegateImplV9.java:147) . 在android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java)的android.support.v7.app.AppCompatDelegateImplV14 . (AppCompatDelegateImplV14.java:50)上的support.v7.app.AppCompatDelegateImplV11 . (AppCompatDelegateImplV11.java:27) . 201)在Android.support.v7.app.App.DeCompateApate上的android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:181)上的android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:521) .findViewById(AppCompatActivity.java:190)at com.example.client18.dd.signup_activity . (signup_activity.java:28)at java.lang.Class.newInstanceImpl(Native Method)at java.lang.Class.newInstance(Class . java:1208)在android.app.Anstrumentation.newActivity(Instrumentation.java:1064)android.app.ActivityThread.perfo rmLaunchActivity(ActivityThread.java:2112)在Android.app.ActivityThread.access $ 800(ActivityThread.java:135)的android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)android.app.ActivityThread $ H.handleMessage( ActivityThread.java:1196)android.app.Handler.dispatchMessage(Handler.java:102)android.app.Looper.loop(Looper.java:136)android.app.ActivityThread.main(ActivityThread.java:5021) )at java.lang.reflect.Method.invokeNative(Native Method)at java.lang.reflect.Method.invoke(Method.java:515)at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java) :827)在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:643)at dalvik.system.NativeStart.main(Native Method)应用程序终止 .

1 回答

  • 0

    @ denny-kurniawan,一般来说,空指针归结为使用一个没有你期望它包含的对象 . 尽可能使用try / catch . 逐步调试 . 对于您的示例,请尝试以下操作:

    public void onStart(){
         try {
          super.onStart();
          final Calendar kal = Calendar.getInstance();
          tahun = kal.get(Calendar.YEAR);
          bulan = kal.get(Calendar.MONTH);
          tanggal = kal.get(Calendar.DAY_OF_MONTH);
          tampilkan_tanggal();
         } catch (Exception ex) {
         // do something here to see the stack trace 
         System.out.println(ex.getMessage());
        }
        System.out.println("Success!");
        }
    

    将断点放在Calendar kal行上 .

相关问题