将 activity 的背景更改为另一个 activity

Change background on an activity from another activity

我正在尝试将 activity 上的背景更改为另一个 activity 上的背景,但它不起作用。 ConstraintLayout layout = findViewById(R.id.main_layout); layout.setBackgroundResource(R.drawable.summer);

当我将 main_layout(主要 activity)更改为 second_layout(第二个 activity)时,它在第二个 activity 上起作用,但我可以'让它在第一个 activity.

上工作

这不可能。第二个 activity 甚至没有对第一个 activity 的引用。除非你试图使用静态来保持对第一个 activity 的引用,这是内存泄漏,错误的,并且会导致很多问题。如果您需要像这样进行交互,您应该调用第二个 activity 以获得结果,并且 return 结果中的新行为第一个 activity 可以应用,或者将其写入共享首选项并让第一个 activity 在 onResume 中从那里解析它。

此外,findViewById 只会在当前 Activity 中查找视图。从另一个activity的角度来看,第一个activity的UI不存在。