将 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不存在。
我正在尝试将 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不存在。