好吧这里有一个更好的描述我的问题我想第一个有点模糊,很难理解。 我有这个DataSheet0,它由几个名为MeetingNames,TopicNames和TopicTimes的数组组成。它们都是String数组!
String[][] DataSheet0 = new String[][]{MeetingNames,TopicNames,TopicTimes};
我现在需要将此数组发送到名为OpenMeeting.class的第二个Activity 这是我的尝试,我不知道它的工作与否,因为我无法收到它,我想我必须捆绑它?怎么样?
发送时间:
Intent OpenMeeting = new Intent(getBaseContext(), OpenMeeting.class);
OpenMeeting.putExtra("Meeting Data",DataSheet0);
startActivity(OpenMeeting);
希望收到:
String[][]DataSheet;
Intent DataFromMainActivity = getIntent();
DataSheet = DataFromMainActivity.getSerializableExtra("Meeting Data");
接收部分抛出一个错误,因为该数组不是serialzable对象。你能不能给我写一个发送二维数组的解决方案代码,以及如何将它解包回原来的二维数组!
修改 我试过这样解决它。现在它不会抛出任何错误。但是现在数据在数据中的位置在哪里?现在原始的二维数组是否以相同的顺序保存在接收部件的新String [] []数据表中?
发送
Intent OpenMeeting = new Intent(getBaseContext(), OpenMeeting.class)
Bundle mBundle = new Bundle();
mBundle.putSerializable("Meeting Data",DataSheet0);
OpenMeeting.putExtras(mBundle);
收到
String[][] DataSheet = null;
Object[] objectArray = (Object[]) getIntent().getExtras().getSerializable("key_array_array");
if(objectArray!=null){
DataSheet = new String[objectArray.length][];
for(int i=0;i<objectArray.length;i++){
DataSheet[i]=(String[]) objectArray[i];
}
}
答案 0 :(得分:0)
我建议你把一个带有meetingNames,topicNames,topicTimes的模型作为变量放入其中,然后创建一个ArrayList
模型并发送/接收它。