Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何作为意图传递和检索二维数组_Android_Android Intent - Fatal编程技术网

Android 如何作为意图传递和检索二维数组

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

我需要将2D数组作为意图传递给另一个活动

此代码用于发送2D数组,问题是在下一个活动中检索它

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(“数组”);