更改另一个带有按钮的活动的背景颜色



我有两个活动main和settings。我想用设置上的一个按钮来改变主体的背景颜色。我尝试使用RelativeLayout,并获得主使用id和触摸按钮时改变颜色的布局,但它不起作用。我也尝试过使用Intent,但我不知道怎么做。获得

下面设置活动的代码
public class Settings extends AppCompatActivity {
private Button changeColorButton;
private RelativeLayout layout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
changeColorButton = findViewById(R.id.changeColorButton);
layout = findViewById(R.id.mainLayout);
/** Called when the user taps the Settings button */
changeColorButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View V){
Intent intent = new Intent(Settings.this, Main.class);
startActivity(intent);
layout.setBackgroundColor(Color.BLUE);
}
});
}
}

请帮忙好吗?

您不能像那样更改另一个活动的视图。

你可以发送一个额外的参数与你的意图和读取它的设置活动。你可以根据你通过intent接收到的值来改变颜色。

或者如果它是一个更永久的设置,你可以把它保存在SharedPreferences中,然后在Main中读取。

最新更新