Как менять параметры объекта / вызывать set методы из другого Activity?

Рейтинг: 2Ответов: 1Опубликовано: 10.04.2015

Есть свой объект или несколько объектов. У него есть допустим переменная count.

При нажатии settings переходим в другое Activity.В котором есть поле для ввода числа.

Введенное число нужно передать объекту.

Объект класса создан в MainActivity.

Как передать введенное число set методу объекта?

Нужно использовать Intent?

Ответы

▲ 4Принят

Да нужно использовать интент. Предположим первое activity называтся MainActivity а второе SettingsActivity.

Стартовать SettingsActivity нужно при помощи startActivityForResult(intent, REQUEST_CODE);

Где REQUEST_CODE это любое целое число больше нуля, например 1.

Дальше в SettingsActivity когда введете число нужно получить число пусть будет value, и вернуть его как результат в MainActivity, и вызвать finish() чтоб вернуться в MainActivity:

// SettingsActivity
setResult(RESULT_OK, new Intent().putExtra("result",value));
finish();

Далее следует принять это число опять в MainActivity и там уже записывать set методу объекта:

// MainActivity
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
  if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
    int value = data.getIntExtra("result", 0);
    // обьект.set(value);
  }
}