if you want to change Activity A background in runtime, or make any change from outside the Activity activity2 Send broadCast From activity1 to Activity activity2, the BroadCastReceiver in activity2 make the change you want. - (this is way of changing background when it is visible)
in your case, use SharedPreferences to save the background and in onResume() read the SharedPreferences :
example: (I will Write code here without testing it, but you can do)
public void onClick(View v) {
// set background..
SharedPreferences bgshared= getSharedPreferences("background", MODE_PRIVATE);
SharedPreferences.Editor editor = bgshared.edit();
editor.putString("BKGRND", "bg1").commit();
// OR editor.putString("BKGRND", "bg2").commit();
// OR editor.putString("BKGRND", "bg3").commit();
}
In onResume Do :
SharedPreferences bgshared= getSharedPreferences("background", MODE_PRIVATE);
String Bgfromshared = bgshared.getString("BKGRND", "Error");
if(Bgfromshared.equals("bg1"))
background.setBackgroundResource(R.drawable.customBackground1);
else if(Bgfromshared.equals("bg2"))
background.setBackgroundResource(R.drawable.customBackground2);//other drawable
else if(Bgfromshared.equals("bg3"))
background.setBackgroundResource(R.drawable.customBackground3);
else if(Bgfromshared.equals("Error")); //do no thing (put ; ).
UPDATE:(if you have more than one activity, use one SharedPreferences for all of the activities)
// you are in activity1:
public void onClick(View v) {
// set background..
SharedPreferences bgshared= getSharedPreferences("background", MODE_PRIVATE);
SharedPreferences.Editor editor = bgshared.edit();
editor.putString("BKGRND_ACTIVITY1", "bg1").commit();
// OR editor.putString("BKGRND_ACTIVITY1", "bg2").commit();
// OR editor.putString("BKGRND_ACTIVITY1", "bg3").commit();
}
// you are in activity2:
public void onClick(View v) {
// set background..
SharedPreferences bgshared= getSharedPreferences("background", MODE_PRIVATE);
SharedPreferences.Editor editor = bgshared.edit();
editor.putString("BKGRND_ACTIVITY2", "bg1").commit();
// OR editor.putString("BKGRND_ACTIVITY2", "bg2").commit();
// OR editor.putString("BKGRND_ACTIVITY2", "bg3").commit();
}
In onResume Do :
SharedPreferences bgshared= getSharedPreferences("background", MODE_PRIVATE);
// if you are in activity 1 :
String Bgfromshared = bgshared.getString("BKGRND_ACTIVITY1", "Error");
// if you are in activity 2 :
String Bgfromshared = bgshared.getString("BKGRND_ACTIVITY2", "Error");
if(Bgfromshared.equals("bg1"))
background.setBackgroundResource(R.drawable.customBackground1);
else if(Bgfromshared.equals("bg2"))
background.setBackgroundResource(R.drawable.customBackground2);//other drawable
else if(Bgfromshared.equals("bg3"))
background.setBackgroundResource(R.drawable.customBackground3);
else if(Bgfromshared.equals("Error")); //do no thing (put ; ).