我需要将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];
   }
}

最佳答案

您可以像下面这样做一些接收数组的操作:

Bundle b = getIntent().getExtras();
int[][] list_array = (int[][])b.getSerializable("array");

10-08 00:20