我为结果启动了一个子活动,它将一个包含一些数据的包返回到父活动。
问题是,在onActivityResult()
方法的父活动中,我检查了是否有从具有特定名称的子活动返回的包
bunConnAssets
但是switch-case中的if条件表明没有具有给定名称的包
请让我知道我的错误在哪里。
subActivity中的:
if (this.mqttSettingsDB != null) {
Log.d(TAG, "this.mqttSettingsDB is not null.");
int[] id = this.mqttSettingsDB.getIDs();
Bundle bunConnAssets = new Bundle();
Intent intConnAssets = new Intent();
....
....
....
intConnAssets.putExtras(bunConnAssets);
setResult(RESULT_OK, intConnAssets);
MainActivity :
switch (requestCode) {
case REQUEST_CODE:
if (resultCode == MainActivityA.RESULT_OK) {
if (data != null) {
if (data.hasExtra("bunConnAssets")) {
Log.d(TAG, "Bundle exists");
} else {
Log.d(TAG, "Bundle does not exist");
}
}
} else {
Log.d(TAG, "resultCode != RESULT_OK");
}
logcat的:
02-03 12:36:38.737: W/SettingsActivity(12659): @finish().
02-03 12:36:38.737: D/SettingsActivity(12659): this.mqttSettingsDB is not null.
02-03 12:36:38.957: W/MQTT_Settings_Frag(12659): @onPause().
答案 0 :(得分:0)
您可以使用以下代码获取Bundle
Bundle extras = data.getExtras();
if (extras!=null) {
Log.d(TAG, "Bundle exists");
} else {
Log.d(TAG, "Bundle does not exist");
}