Java 应用程序无法启动-空指针异常

Java 应用程序无法启动-空指针异常,java,android,eclipse,nullpointerexception,Java,Android,Eclipse,Nullpointerexception,应用程序崩溃,无法启动。代码编译时没有错误,但在我运行模拟器尝试测试应用程序时崩溃。任何帮助都将不胜感激 这是我的主要活动。java 这是我尝试运行应用程序后的CatLog,它崩溃了 09-1417:48:20.364:E/AndroidRuntime(1168):致命异常:main 09-14 17:48:20.364:E/AndroidRuntime(1168):java.lang.RuntimeException:无法实例化活动组件信息{com.overworldinnovations.d

应用程序崩溃,无法启动。代码编译时没有错误,但在我运行模拟器尝试测试应用程序时崩溃。任何帮助都将不胜感激

这是我的主要活动。java

这是我尝试运行应用程序后的CatLog,它崩溃了

09-1417:48:20.364:E/AndroidRuntime(1168):致命异常:main
09-14 17:48:20.364:E/AndroidRuntime(1168):java.lang.RuntimeException:无法实例化活动组件信息{com.overworldinnovations.datatool/com.overworldinnovations.datatool.MainActivity}:java.lang.NullPointerException
09-14 17:48:20.364:E/AndroidRuntime(1168):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106)
09-14 17:48:20.364:E/AndroidRuntime(1168):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
09-14 17:48:20.364:E/AndroidRuntime(1168):在android.app.ActivityThread.access$600(ActivityThread.java:141)
09-14 17:48:20.364:E/AndroidRuntime(1168):在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
09-14 17:48:20.364:E/AndroidRuntime(1168):在android.os.Handler.dispatchMessage(Handler.java:99)上
09-14 17:48:20.364:E/AndroidRuntime(1168):在android.os.Looper.loop(Looper.java:137)上
09-14 17:48:20.364:E/AndroidRuntime(1168):在android.app.ActivityThread.main(ActivityThread.java:5041)上
09-14 17:48:20.364:E/AndroidRuntime(1168):位于java.lang.reflect.Method.Invokenactive(本机方法)
09-14 17:48:20.364:E/AndroidRuntime(1168):在java.lang.reflect.Method.invoke(Method.java:511)
09-14 17:48:20.364:E/AndroidRuntime(1168):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
09-1417:48:20.364:E/AndroidRuntime(1168):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
09-14 17:48:20.364:E/AndroidRuntime(1168):在dalvik.system.NativeStart.main(本机方法)
09-14 17:48:20.364:E/AndroidRuntime(1168):由以下原因引起:java.lang.NullPointerException
09-14 17:48:20.364:E/AndroidRuntime(1168):在android.app.Activity.findViewById(Activity.java:1839)上
09-14 17:48:20.364:E/AndroidRuntime(1168):位于com.overworldinnovations.datatool.MainActivity。(MainActivity.java:25)
09-14 17:48:20.364:E/AndroidRuntime(1168):位于java.lang.Class.newInstanceImpl(本机方法)
09-14 17:48:20.364:E/AndroidRuntime(1168):在java.lang.Class.newInstance(Class.java:1319)上
09-1417:48:20.364:E/AndroidRuntime(1168):在android.app.Instrumentation.newActivity(Instrumentation.java:1054)上
09-14 17:48:20.364:E/AndroidRuntime(1168):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)
09-1417:48:20.364:E/AndroidRuntime(1168):。。。还有11个
09-1417:53:20.504:I/进程(1168):发送信号。PID:1168信号:9

在活动中将此初始值设定项块移动到
onCreate()

{

    // Initialization

    ...
}
实例初始化(
在stacktrace中)太早,无法调用活动方法,如
findViewById()


因为您还没有一个
onCreate()
并且需要一个,所以可以将初始值设定项转换为一个。将开头的
{
替换为

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.some_layout_id);

    // Initialization

    ...

其中
some\u layout\u id
指的是要用作此活动内容视图的XML布局。

将此初始值设定项块移动到活动中的
onCreate()

{

    // Initialization

    ...
}
实例初始化(
在stacktrace中)太早,无法调用活动方法,如
findViewById()


因为您还没有一个
onCreate()
并且需要一个,所以可以将初始值设定项转换为一个

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.some_layout_id);

    // Initialization

    ...

其中
some\u layout\u id
指的是要用作此活动内容视图的XML布局。

当您发布堆栈跟踪时,如果您标识行,则总是有帮助的请指出哪一行是MainActivity.javai的第25行。这是从第25行开始的代码位------//Initialization viewPager=(viewPager)findViewById(R.id.pager);actionBar=getActionBar();mAdapter=new TabsPagerAdapter(getSupportFragmentManager());viewPager.setAdapter(mAdapter);actionBar.setHomeButtonEnabled(false);actionBar.setNavigationMode(actionBar.NAVIGATION_MODE_选项卡);当您发布堆栈跟踪时,如果您识别行,它总是有帮助的请指出哪一行是MainActivity.javai的第25行。这是从第25行开始的代码位------//Initialization viewPager=(viewPager)findViewById(R.id.pager);actionBar=getActionBar();mAdapter=new TabsPagerAdapter(getSupportFragmentManager());viewPager.setAdapter(mAdapter);actionBar.setHomeButtonEnabled(false);actionBar.setNavigationMode(actionBar.NAVIGATION_MODE_选项卡);@user3681591如何初始化代码?那是什么语法类型?@valbertos非常感谢:)你的答案正是我需要的!谢谢@laalto,我只知道静态初始化@user3681591如何初始化代码?那是什么语法类型?@valbertos非常感谢:)你的答案正是我需要的!谢谢@laalto,我只知道静态初始化