我想通过在第二个Activity中使用微调器来更改Main活动的背景颜色。我已经创建了一个按钮,然后转到第二个活动,在第二个活动中,我创建了微调器,该微调器由主活动中的颜色组成。选择颜色后,我创建的按钮将更改背景颜色,并返回到第一个活动。
答案 0 :(得分:0)
据我了解,您需要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();
}
}