Android 如何作为意图传递和检索二维数组
我需要将2D数组作为意图传递给另一个活动 此代码用于发送2D数组,问题是在下一个活动中检索它Android 如何作为意图传递和检索二维数组,android,android-intent,Android,Android Intent,我需要将2D数组作为意图传递给另一个活动 此代码用于发送2D数组,问题是在下一个活动中检索它 i++; Intent tryAgain = getIntent(); tryAgain.putExtra("index", i); tryAgain.putExtra("from", "next"); int [][] previousValues = getSelectedIndices(); Toast.makeText(AnotherActivity.this, "Bang " + previ
i++;
Intent tryAgain = getIntent();
tryAgain.putExtra("index", i);
tryAgain.putExtra("from", "next");
int [][] previousValues = getSelectedIndices();
Toast.makeText(AnotherActivity.this, "Bang " + previousValues[3][3], Toast.LENGTH_SHORT).show();
Bundle mBundle = new Bundle();
mBundle.putSerializable("array", previousValues);
tryAgain.putExtras(mBundle);
AnotherActivity.this.finish();
startActivity(tryAgain);
我已经尝试了下面的代码来检索2D数组,但它不起作用
else if(getIntent().getStringExtra("from").equals("next")){
i=index;
int [][] arrayReceived=null;
Object[] objectArray = (Object[]) getIntent().getExtras().getSerializable("array");
if(objectArray!=null){
arrayReceived = new int[objectArray.length][];
for(int i=0;i<objectArray.length;i++){
arrayReceived[i]=(int[]) objectArray[i];
}
}
else if(getIntent().getStringExtra(“from”).equals(“next”)){
i=指数;
int[][]arrayReceived=null;
对象[]对象数组=(对象[])getIntent().getExtras().getSerializable(“数组”);
if(objectArray!=null){
arrayReceived=new int[objectArray.length][];
对于(int i=0;i您可以做一些事情来接收数组,例如:
Bundle b = getIntent().getExtras();
int[][] list_array = (int[][])b.getSerializable("array");
如果你把它放在int[]previousValues
,那么为什么你要尝试将它作为Object[]objectArray
检索呢?我已经试过了,应用程序会因为某种原因关闭。java.lang.ClassCastException:java.lang.Object[]无法转换为int[]这是因为您正在发送一个int并试图获取is作为对象。如何修复它?这与以前的代码相同,但我使用了getIntent().getExtras().getSerializable(“数组”);