使用Bundle传递数据时出现空指针异常

Ski*_*zit 5 java android nullpointerexception

我有一个浮点数组camObjCoord声明为..

public static float camObjCoord[] = new float[8000];

然后我在类中填充它的索引,执行类似下面的操作.

camObjCoord[1] = 2.5;

我正在打电话 makeview()

       public void makeview() {
    Intent myIntent = new Intent(this, GLCamTest.class);
    this.startActivity(myIntent);
    Bundle b = new Bundle();
    b.putFloatArray("tweets", camObjCoord);
}
Run Code Online (Sandbox Code Playgroud)

然后在新课程中......

               public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Bundle b = this.getIntent().getExtras();
    float original[] = b.getFloatArray("tweets");
    camObjCoord = original;
    counter++;
}   
Run Code Online (Sandbox Code Playgroud)

但是......我得到一个Null指针异常,float original[] = b.getFloatArray("tweets");我不知道为什么.我在调用意图等之前尝试过捆绑,但是我没有运气.谁知道为什么?

我还包括了一些你感兴趣的错误.

            07-14 11:14:35.592: ERROR/AndroidRuntime(7886): Caused by:  java.lang.NullPointerException
            07-14 11:14:35.592: ERROR/AndroidRuntime(7886):     at  org.digital.com.GLCamTest.onCreate(GLCamTest.java:41)
            07-14 11:14:35.592: ERROR/AndroidRuntime(7886):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
            07-14 11:14:35.592: ERROR/AndroidRuntime(7886):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
            07-14 11:14:35.592: ERROR/AndroidRuntime(7886):     ... 11 more
Run Code Online (Sandbox Code Playgroud)

谢谢!

Jon*_*eet 4

好吧,这表明它this.getIntent().getExtras()已经回来了null。请注意,创建捆绑包后makeview您尚未执行任何操作。您是否需要做:

myIntent.putExtras(b);
Run Code Online (Sandbox Code Playgroud)

也许最后?(我不是 Android 开发人员,所以我不知道 API,但这听起来很可能......)

编辑:正如其他人指出的那样,您应该在设置意图的所有内容startActivity进行调用。