Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在从另一个视图返回后显示视图时捕获事件?_Android_Back Button - Fatal编程技术网

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()

也是