Java 如何在单击第二个活动中的按钮时使用微调器更改主活动的背景色?

Java 如何在单击第二个活动中的按钮时使用微调器更改主活动的背景色?,java,android,android-studio,Java,Android,Android Studio,我想通过在第二个活动中使用微调器来更改主活动的背景色。我已经创建了一个按钮,它转到第二个活动,在第二个活动中,我创建了微调器,该微调器由主活动中的颜色组成。选择颜色后,我创建的按钮将更改背景颜色并返回到第一个活动 据我所知,您需要结果行为的活动 您可以使用startActivityForResult将意图从第一个活动激发到第二个活动,并附带请求代码 您可以使用Intent和setResult将第二个活动的数据发送回第一个活动 您可以在第一个活动中覆盖onActivityResult,以获取和使

我想通过在第二个活动中使用微调器来更改主活动的背景色。我已经创建了一个按钮,它转到第二个活动,在第二个活动中,我创建了微调器,该微调器由主活动中的颜色组成。选择颜色后,我创建的按钮将更改背景颜色并返回到第一个活动

据我所知,您需要结果行为的活动

  • 您可以使用
    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();
    }
}

制作颜色类的模型,创建颜色对象,获取并设置相应的颜色对象。因此,在第二个活动中,您将创建一个Color对象,并在setOnItemSelectedListener上设置所需的颜色。当你回到主活动时,获取对象并相应地设置颜色。非常感谢!非常感谢你!这帮了大忙@SemihAltaş很高兴听到,如果你愿意,请记住我的答案是正确的