我在本网站发现了与我的相似的其他问题;我尝试了他们的sugestions但我一直得到NullPointExceptionError如下:
" java.lang.RuntimeException:无法启动活动ComponentInfo java.lang.NullPointerException:尝试调用虚方法' int [] android.os.Bundle.getIntArray(java.lang.String)'在null对象引用"
这是我到目前为止所做的:
原始数组的活动:
Bundle myBundle = new Bundle();
myBundle.putIntArray("PTArray", PTFindings);
Intent intent = this.getIntent();
intent.putExtra("PTArray", PTFindings);
startActivity(intent);
接收此数组的活动:
int[] PTData = getIntent().getIntArrayExtra("PTArray");
Bundle myBundle = getIntent().getExtras();
PTData = myBundle.getIntArray("PTArray");
***非常感谢任何帮助
答案 0 :(得分:1)
试试这个原作:
Intent intent = new Intent(thisActivity.this, nextActivity.class);
intent.putExtra("PTArray", PTFindings);
startActivity(intent);
这是接收:
Bundle myBundle = getIntent().getExtras();
int[] PTData = myBundle.getIntArray("PTArray");
答案 1 :(得分:0)
您没有创建传递给新Activity的Intent。尝试更改
Intent intent = this.getIntent();
到
Intent intent = new Intent(this, ComponentInfo.class);
然后应该将Intent传递给接收类。
另一点是,在您的代码中,您没有将Bundle传递给Intent。因此getIntent().getExtras();
实际上会在您的代码中返回null
,因此myBundle.getIntArray
会导致NPE。因此,当您想要在下一个活动中访问Bundle时,请不要忘记调用
intent.putExtra(myBundle);
答案 2 :(得分:0)
您没有将myBundle
或目标活动传递给意图,请尝试使用此功能:
Bundle myBundle = new Bundle();
myBundle.putIntArray("PTArray", PTFindings);
Intent intent = new Intent(this, ComponentInfo.class);
intent.putExtra("PTArray", PTFindings);
intent.putExtra(myBundle);
startActivity(intent);