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

时间:2018-11-23 20:46:15

标签: java android android-studio

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

1 个答案:

答案 0 :(得分:0)

据我了解,您需要ActivityForResult行为。

  • 您使用startActivityForResult将Intent从您的第一个活动触发到第二个活动,以及请求代码。
  • 您使用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();
    }
}