У меня есть программа с более чем одним действием. В моей MainActivity я могу нажать кнопку, которая отправит пользователя в ThirdActivity_ColorPicker. В третьем упражнении у меня есть три кнопки с именем colors, при нажатии на которые следует изменить цвет фона MainActivity. Кроме того, это не меняет цвет фона.
В MainActivity у меня есть намерение, которое переключает меня на третье действие.
private View.OnClickListener changeToColorPickerActivity = new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent goToThirdActivityColorPicker = new Intent(getApplication(), ThirdActivity_ColorPicker.class);
startActivityForResult(goToThirdActivityColorPicker, COLOR_PICKER_REQUEST);
}
};
В третьем упражнении у меня есть три кнопки, красная, синяя и зеленая, которые при нажатии должны изменить цвет фона MainActivity на выбранный цвет.
private View.OnClickListener changeMainActivityToBlue = new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intentBlue = new Intent();
setResult(RESULT_CODE_BLUE, intentBlue);
finish();
}
};
Назадв MainActivity у меня есть onActivityResult для получения данных от третьего действия
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
thirdAct = new ThirdActivity_ColorPicker();
if(requestCode == RESULT_OK && resultCode == thirdAct.RESULT_CODE_RED){
constraintLayout.findViewById(R.id.main_layout).setBackgroundColor(getColor(R.color.redBackground));
}else if(requestCode == RESULT_OK && resultCode == thirdAct.RESULT_CODE_GREEN){
constraintLayout.findViewById(R.id.main_layout).setBackgroundColor(getColor(R.color.greenBackground));
}else if(requestCode == RESULT_OK && resultCode == thirdAct.RESULT_CODE_BLUE){
constraintLayout.setBackgroundColor(getColor(R.color.blueBackground));
}
}
Результат, который я хотел бы, это изменить цвет фона с кодом выше, но используется правильно, потому что я знаю, что я где-то что-то не так делаю,Спасибо.