我有關於將字符串數組作爲包中的額外字符傳遞的問題。當moduleType =「v」時,我寫了下面的代碼來存儲標題,信息和揚聲器。代碼使用該包將字符串數組放入PopulateData活動中,並將其傳遞給下一個活動,即DataList活動。我的代碼如下:爲什麼存儲在數組中的值在Android中以套接字顯示爲空的形式傳遞
PopulateData.java
for(int i = 0; i < moduleTypes.length; i++){
String moduleType = moduleTypes[i];
JSONObject jsonModule = new JSONObject(content[i]);
//Bundle[] bundle = new Bundle[jsonModule.length()];
Log.i(TAG, "ModuleType = v " + (moduleType == "v"));
Log.i(TAG, "ModuleType = v " + moduleType.equals("v"));
Log.i(TAG, "ModuleType = " + moduleType);
Log.i(TAG, "ModuleType Length = " + moduleTypes.length);
if(moduleType.equals("v")){
//String[] title = new String[jsonModule.length()];
//String[] info = new String[jsonModule.length()];
//String[] speaker = new String[jsonModule.length()];
String[] videoTypes = dbAdapter.collectVideoTypeFromListTable();
String[] title = new String[videoTypes.length];
String[] info = new String[videoTypes.length];
String[] speaker = new String[videoTypes.length];
title[i] = jsonModule.getString("title");
info[i] = jsonModule.getString("info");
speaker[i] = jsonModule.getString("speaker");
Log.i(TAG, "titleArray");
Log.i(TAG,title[i]);
Log.i(TAG, "infoArray");
Log.i(TAG,info[i]);
Log.i(TAG, "speakerArray");
Log.i(TAG,speaker[i]);
bundle.putStringArray("titleArray", title);
bundle.putStringArray("infoArray", info);
bundle.putStringArray("speakerArray", speaker);
bundle.putString("date", strDate);
}
intent.putExtras(bundle);
}
DataList.java
bundle = getIntent().getExtras();
title = bundle.getStringArray("titleArray");
Log.i(TAG, "Title Size="+String.valueOf(title.length));
info = bundle.getStringArray("infoArray");
Log.i(TAG, "Info Size="+String.valueOf(info.length));
speaker = bundle.getStringArray("speakerArray");
Log.i(TAG, "Speaker Size="+String.valueOf(speaker.length));
date = bundle.getString("date");
Log.i(TAG, "Bundle Size="+String.valueOf(bundle.size()));
Log.i(TAG, ""+title[0]);
//bundle.p
//title = bundle.getString("title");
//info = bundle.getString("info");
//speaker = bundle.getString("speaker");
for(int i = 0; i < title.length; i++){
Log.i(TAG, "title["+i+"]"+title[i]);
Log.i(TAG, "info["+i+"]"+info[i]);
Log.i(TAG, "speaker["+i+"]"+speaker[i]);
Log.i(TAG, date);
Content content = new Content(title[i], info[i], speaker[i], date);
contentList.add(content);
}
DDMS:
01-09 18:53:04.305: INFO/PopulateData(435): ModuleType = v false
01-09 18:53:04.305: INFO/PopulateData(435): ModuleType = v true
01-09 18:53:04.305: INFO/PopulateData(435): ModuleType = v
01-09 18:53:04.305: INFO/PopulateData(435): ModuleType Length = 9
01-09 18:53:04.315: INFO/DronaDBAdapter(435): Type: v
01-09 18:53:04.315: INFO/DronaDBAdapter(435): Type: v
01-09 18:53:04.315: INFO/DronaDBAdapter(435): Type: v
01-09 18:53:04.325: INFO/PopulateData(435): titleArray
01-09 18:53:04.325: INFO/PopulateData(435): Capital Budgeting
01-09 18:53:04.325: INFO/PopulateData(435): infoArray
01-09 18:53:04.325: INFO/PopulateData(435): Bhaavesh bhai will give full to training of Capital budgeting to team deltecs. All the best for him.
01-09 18:53:04.325: INFO/PopulateData(435): speakerArray
01-09 18:53:04.325: INFO/PopulateData(435): Bhaavesh Bhai
01-09 18:53:04.325: INFO/PopulateData(435): ModuleType = v false
01-09 18:53:04.325: INFO/PopulateData(435): ModuleType = v true
01-09 18:53:04.335: INFO/PopulateData(435): ModuleType = v
01-09 18:53:04.335: INFO/PopulateData(435): ModuleType Length = 9
01-09 18:53:04.345: INFO/DronaDBAdapter(435): Type: v
01-09 18:53:04.345: INFO/DronaDBAdapter(435): Type: v
01-09 18:53:04.345: INFO/DronaDBAdapter(435): Type: v
01-09 18:53:04.345: INFO/PopulateData(435): titleArray
01-09 18:53:04.345: INFO/PopulateData(435): Nixon Cameras
01-09 18:53:04.345: INFO/PopulateData(435): infoArray
01-09 18:53:04.355: INFO/PopulateData(435): Nixon India is a leading camera manufacters in India.
01-09 18:53:04.355: INFO/PopulateData(435): speakerArray
01-09 18:53:04.355: INFO/PopulateData(435): Nixon India
01-09 18:53:04.355: INFO/PopulateData(435): ModuleType = v false
01-09 18:53:04.365: INFO/PopulateData(435): ModuleType = v true
01-09 18:53:04.365: INFO/PopulateData(435): ModuleType = v
01-09 18:53:04.365: INFO/PopulateData(435): ModuleType Length = 9
01-09 18:53:04.375: INFO/DronaDBAdapter(435): Type: v
01-09 18:53:04.375: INFO/DronaDBAdapter(435): Type: v
01-09 18:53:04.375: INFO/DronaDBAdapter(435): Type: v
01-09 18:53:04.385: INFO/PopulateData(435): titleArray
01-09 18:53:04.385: INFO/PopulateData(435): Nixon Cameras
01-09 18:53:04.385: INFO/PopulateData(435): infoArray
01-09 18:53:04.385: INFO/PopulateData(435): Nixon India is a leading camera manufacters in India.
01-09 18:53:04.385: INFO/PopulateData(435): speakerArray
01-09 18:53:04.395: INFO/PopulateData(435): Nixon India
01-09 18:53:04.395: INFO/PopulateData(435): ModuleType = v false
01-09 18:53:04.395: INFO/PopulateData(435): ModuleType = v false
01-09 18:53:04.395: INFO/PopulateData(435): ModuleType = n
01-09 18:53:04.405: INFO/PopulateData(435): ModuleType Length = 9
01-09 18:53:04.405: INFO/PopulateData(435): ModuleType = v false
01-09 18:53:04.405: INFO/PopulateData(435): ModuleType = v false
01-09 18:53:04.415: INFO/PopulateData(435): ModuleType = n
01-09 18:53:04.415: INFO/PopulateData(435): ModuleType Length = 9
01-09 18:53:04.415: INFO/PopulateData(435): ModuleType = v false
01-09 18:53:04.415: INFO/PopulateData(435): ModuleType = v false
01-09 18:53:04.425: INFO/PopulateData(435): ModuleType = n
01-09 18:53:04.425: INFO/PopulateData(435): ModuleType Length = 9
01-09 18:53:04.425: INFO/PopulateData(435): ModuleType = v false
01-09 18:53:04.425: INFO/PopulateData(435): ModuleType = v false
01-09 18:53:04.435: INFO/PopulateData(435): ModuleType = e
01-09 18:53:04.435: INFO/PopulateData(435): ModuleType Length = 9
01-09 18:53:04.445: INFO/PopulateData(435): ModuleType = v false
01-09 18:53:04.445: INFO/PopulateData(435): ModuleType = v false
01-09 18:53:04.445: INFO/PopulateData(435): ModuleType = q
01-09 18:53:04.445: INFO/PopulateData(435): ModuleType Length = 9
01-09 18:53:04.455: INFO/PopulateData(435): ModuleType = v false
01-09 18:53:04.455: INFO/PopulateData(435): ModuleType = v false
01-09 18:53:04.455: INFO/PopulateData(435): ModuleType = s
01-09 18:53:04.465: INFO/PopulateData(435): ModuleType Length = 9
01-09 18:53:04.465: INFO/ActivityManager(59): Starting activity: Intent { cmp=com.drona.app/.DataList (has extras) }
01-09 18:53:04.545: INFO/DataList(435): Title Size=3
01-09 18:53:04.545: INFO/DataList(435): Info Size=3
01-09 18:53:04.545: INFO/DataList(435): Speaker Size=3
01-09 18:53:04.545: INFO/DataList(435): Bundle Size=4
01-09 18:53:04.555: INFO/DataList(435): null
01-09 18:53:04.555: INFO/DataList(435): title[0]null
01-09 18:53:04.555: INFO/DataList(435): info[0]null
01-09 18:53:04.555: INFO/DataList(435): speaker[0]null
01-09 18:53:04.565: INFO/DataList(435): Jan 09
01-09 18:53:04.565: INFO/DataList(435): title[1]null
01-09 18:53:04.565: INFO/DataList(435): info[1]null
01-09 18:53:04.565: INFO/DataList(435): speaker[1]null
01-09 18:53:04.565: INFO/DataList(435): Jan 09
01-09 18:53:04.565: INFO/DataList(435): title[2]Nixon Cameras
01-09 18:53:04.575: INFO/DataList(435): info[2]Nixon India is a leading camera manufacters in India.
01-09 18:53:04.575: INFO/DataList(435): speaker[2]Nixon India
01-09 18:53:04.575: INFO/DataList(435): Jan 09
由於出現在DDMS中,我作爲數據包在第一個活動中傳遞的值正在顯示正確,但是當它們轉到下一個活動時,它們將變爲空。爲什麼這樣?我做了什麼錯了嗎?
的其他活動也需要傳遞的花絮。 – 2012-01-09 13:51:55
看來你正在覆蓋每個循環迭代的現有額外。如果我正確地從日誌中理解了你的問題,你應該首先將String []數組放在for -loop中,然後纔將它們作爲字符串數組extras。 – harism 2012-01-09 13:56:25