Android 如何在从另一个视图返回后显示视图时捕获事件?
一个简单的问题我就是找不到答案Android 如何在从另一个视图返回后显示视图时捕获事件?,android,back-button,Android,Back Button,一个简单的问题我就是找不到答案 我有视图A和B,单击A上的按钮后,B显示,此时如果我单击设备上的后退按钮,A将再次显示。现在我更改了B中的某些内容,希望它会影响A,例如,通过全局变量设置A的背景色,这样当按下“后退”按钮时,A的背景色会发生变化,我该怎么做?单击“后退”按钮显示A时会触发什么方法?您应该从B显式返回。因此应该有一个颜色选择器和“确定”按钮。该按钮应关闭活动B并返回A的值。然后A将在中检索该值 onActivityResult方法 “后退”按钮不用于提供结果。因此,如果您想要您描述
我有视图A和B,单击A上的按钮后,B显示,此时如果我单击设备上的后退按钮,A将再次显示。现在我更改了B中的某些内容,希望它会影响A,例如,通过全局变量设置A的背景色,这样当按下“后退”按钮时,A的背景色会发生变化,我该怎么做?单击“后退”按钮显示A时会触发什么方法?您应该从B显式返回。因此应该有一个颜色选择器和“确定”按钮。该按钮应关闭活动B并返回A的值。然后A将在中检索该值 onActivityResult方法
“后退”按钮不用于提供结果。因此,如果您想要您描述的行为。然后,当有人在B活动中选择颜色时,立即将其保存在共享首选项中(记住命名文件)。然后在活动A的onResume方法中读取相同的首选项文件,并相应地设置背景 首先,您需要覆盖A中的
onResume()
方法。onResume()
将在A恢复可见后触发
然后,您可以在B中实现onBackPressed()
方法,以保存通过SharedReference
或其他方式所做的设置。然后在A的onResume()
上检索它
因此,整个解决方案如下所示:
活动A:
@Override
public void onResume() {
super.onResume();
//blah blah
//Retrieve SharedPreferences or the saved data from B
}
活动B:
@Override
public void onBackPressed() {
//save your data or settings here
}
我想这可以帮助您确定什么是onResume()
,以及它将在何时被触发
和中的onBackPressed()
也是