wseng Ответов: 1

Как суммировать значение из onactivityresult


У меня есть listview в действии A. Я хочу суммировать общую сумму, которая возвращается от действия в к действию а, но я понятия не имею, как их сложить.

@Override
  public void onActivityResult(int requestCode, int resultCode, Intent data) { // receive from Activity B and populate ListView A
      if (resultCode == RESULT_OK) {
          if (requestCode == PROJECT_REQUEST_CODE) {
              ReceiveAmount = data.getStringExtra("amount");
             Toast.makeText(getApplication(),"Total Amount is"+ReceiveAmount,LENGTH_SHORT).show();
              }
          }
      }
  }


Предположим, что в действии B Я возвращаю сумму 5, Затем я снова перехожу к действию B и возвращаю значение 10. Я хочу, чтобы тост отображал значение 15 вместо всегда 5.


Отредактированный

public void onActivityResult(int requestCode, int resultCode, Intent data) { // receive from Activity B and populate ListView A
     if (resultCode == RESULT_OK) {
         if (requestCode == PROJECT_REQUEST_CODE) {
             double sum = 0;
             ReceiveAmount = data.getStringExtra("amount");
            sum = + ReceiveAmount;
            Toast.makeText(getApplication(),"Total Amount is"+sum,LENGTH_SHORT).show();
             }
         }
     }
 }


Что я уже пробовал:

Гугл, но ответа не нашел. Спасибо

1 Ответов

Рейтинг:
7

Peter Leow

Создайте переменную say " sum "в действии A с начальным значением ноль, всякий раз, когда она возвращается из действия B, добавьте возвращенную сумму к этой" сумме " и отобразите ее в тосте. Это все.

++ + + + [раунд 2]+++++

public class MainActivity extends Activity {

    double sum = 0;

    protected void onCreate(Bundle savedInstanceState){
//...

Учить больше Понимание членов класса (учебные пособия Java™ > изучение языка Java & gt; классы и объекты)[^]

++ + + + [раунд 3]+++++
Я заметил это
sum = + ReceiveAmount;

вы уверены, что ваш код действительно работает?
проверить это: Операторы в Java[^]


wseng

не могли бы вы еще раз проверить мой пост ? Спасибо

Peter Leow

Если вы хотите сохранить значение sum, оно должно быть объявлено как переменная класса.
См. добавление в решении 1.

wseng

Сэр, я все еще получаю 5, а не 15

Peter Leow

По крайней мере, есть синтаксическая ошибка, вы должны были столкнуться с какой-то формой сообщений об ошибках, почему вы не сказали об этом прямо. См. раздел добавленное решение.

wseng

спасибо, я меняю на += , и теперь это работает :)

Peter Leow

Добро пожаловать.