Как я могу изменить цвет фона основного действия с помощью счетчика при нажатии кнопки во втором действии?

Я хочу изменить цвет фона основного действия, используя счетчик во втором действии. Я уже создал одну кнопку, и она переходит ко второму действию, и в этом втором действии я создал счетчик, который состоит из того, какой цвет должен быть в основном действии. После выбора цвета созданная мной кнопка изменит цвет фона и вернется к первому действию.

Создайте модель класса цвета, создайте объект цвета, получите и соответствующим образом установите объект цвета. Поэтому во втором упражнении вы создадите объект цвета и установите желаемый цвет для setOnItemSelectedListener. Когда вы вернетесь в MainActivity, получите объект и установите соответствующий цвет.

Nero 23.11.2018 22:22

Большое спасибо!

Semih Altaş 27.11.2018 22:22
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
2
56
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Насколько я понимаю, вам нужно поведение ActivityForResult.

  • Вы используете startActivityForResult для запуска Intent от первого действия ко второму вместе с кодом запроса.
  • Вы используете намерение и setResult для отправки данных от второго занятия обратно к первому.
  • Вы переопределяете onActivityResult в своей первой деятельности, чтобы получить и использовать свои данные.

Образец кода:

public class FirstActivity extends Activity {
    private static final int PICK_COLOR_REQUEST = 1001;

    ...

    private void pickColor() {
        Intent pickColorIntent = new Intent(this, SecondActivity.class);
        startActivityForResult(pickColorIntent, PICK_COLOR_REQUEST);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == PICK_COLOR_REQUEST && resultCode == Activity.RESULT_OK) {
            int color = data.getIntExtra("color");
            /* use the color */
        }
    }
}

public class SecondActivity extends Activity {
    ...

    private void onColorPicked(int color) {
        Intent dataIntent = new Intent();
        dataIntent.putExtra("color", color);

        setResult(Activity.RESULT_OK,returnIntent);
        finish();
    }
}

Большое спасибо! Это очень помогло!

Semih Altaş 27.11.2018 22:21

@ SemihAltaş Приятно слышать, если хотите, отметьте мой ответ как правильный

iFanie 28.11.2018 20:14

Другие вопросы по теме