为什么包会覆盖自己
Why is bundle overwriting itself
我正在将结果发送到上一个 activity
public void sendResult() {
Intent intent = new Intent();
Bundle result = new Bundle();
switch (who) {
case TARIF:
result.putParcelableArrayList(MainActivity.PICK_TARIFF_LOG, tariffList);
break;
case CALL_LOG_ALL:
// myCallLogList = myCallLog.unsortList(sortedCallList);
if (usedDataCall) {
result.putBoolean(IS_PICK_DATE, usedDataCall);
result.putIntegerArrayList(PICK_DATE, date);
} else {
result.putBoolean(IS_PICK_DATE, usedDataCall);
}
result.putParcelableArrayList(PICK_CALL_LOG, myCallLogList);
break;
case SMS_LOG_ALL:
if (usedDataSms) {
result.putBoolean(IS_PICK_DATE, usedDataSms);
result.putIntegerArrayList(PICK_DATE, date);
} else {
result.putBoolean(IS_PICK_DATE, usedDataSms);
}
result.putParcelableArrayList(PICK_SMS_LOG, mySmsLogList);
break;
}
if (getParent() == null) {
setResult(Activity.RESULT_OK, intent);
} else {
getParent().setResult(Activity.RESULT_OK, intent);
}
intent.putExtras(result);
}
但是我的捆绑结果被覆盖了,我不明白为什么。
例如 case CALL_LOG_ALL:它将添加 usedDataCall 值并在后面将用该 arrayList 覆盖它,最后将添加 parcelableList 以便缺少布尔值,但我需要所有 3 个值都在这个包。有什么想法吗?
实际上问题是两个常量的值相同。懒得再打一遍,复制粘贴后我只改了名字..
我正在将结果发送到上一个 activity
public void sendResult() {
Intent intent = new Intent();
Bundle result = new Bundle();
switch (who) {
case TARIF:
result.putParcelableArrayList(MainActivity.PICK_TARIFF_LOG, tariffList);
break;
case CALL_LOG_ALL:
// myCallLogList = myCallLog.unsortList(sortedCallList);
if (usedDataCall) {
result.putBoolean(IS_PICK_DATE, usedDataCall);
result.putIntegerArrayList(PICK_DATE, date);
} else {
result.putBoolean(IS_PICK_DATE, usedDataCall);
}
result.putParcelableArrayList(PICK_CALL_LOG, myCallLogList);
break;
case SMS_LOG_ALL:
if (usedDataSms) {
result.putBoolean(IS_PICK_DATE, usedDataSms);
result.putIntegerArrayList(PICK_DATE, date);
} else {
result.putBoolean(IS_PICK_DATE, usedDataSms);
}
result.putParcelableArrayList(PICK_SMS_LOG, mySmsLogList);
break;
}
if (getParent() == null) {
setResult(Activity.RESULT_OK, intent);
} else {
getParent().setResult(Activity.RESULT_OK, intent);
}
intent.putExtras(result);
}
但是我的捆绑结果被覆盖了,我不明白为什么。 例如 case CALL_LOG_ALL:它将添加 usedDataCall 值并在后面将用该 arrayList 覆盖它,最后将添加 parcelableList 以便缺少布尔值,但我需要所有 3 个值都在这个包。有什么想法吗?
实际上问题是两个常量的值相同。懒得再打一遍,复制粘贴后我只改了名字..