First Activity
ArrayList<String> al = new ArrayList<String>();
int ROWS = 2;
int COLS = 1;
String[][] a2 = new String[ROWS][COLS];
a2[0][0]="one";
a2[1][0]="two";
for(int i=0;i<ROWS;i++)
{
for(int j=0;j<COLS;j++)
{
al.add(a2[i][j]);
}
}
i.putStringArrayListExtra("ar", al);
i.putExtra("ROWS", ROWS);
i.putExtra("COLS", COLS);
Second Activity
ArrayList<String> test = new ArrayList<String>();
test=getIntent().getExtras().getStringArrayList("ar");
int ROWS=getIntent().getExtras().getInt("ROWS");
int COLS=getIntent().getExtras().getInt("COLS");
String[][] a2 = new String[ROWS][COLS];
int index=0;
for(int i=0;i<ROWS;i++)
{
for(int j=0;j<COLS;j++)
{
a2[i][j]=test.get(index++);
}
}