Yin*_*ang 1 java android button back android-activity
我有两种观点和活动。第一个有一个旋转器。第二个,您可以创建新条目(存储在活动 1 中微调器的数据库中)。如果用户完成并按下后退按钮,我必须刷新活动 1 上的微调器(因为有新条目)。
是否可以检查应用程序是否由于按下了活动 2 中的后退按钮而返回到活动 1?
我知道,我可以使用 onResume 方法来完成此操作,但每次我返回活动一时都会调用此方法,而不仅仅是因为后退按钮。
我只想在按下后退按钮时刷新微调器。
有什么解决办法吗?我可以在 onResume 方法中检查是否按下了后退按钮吗?
您可以onBackPressed()在第二个活动中覆盖。当用户按下后退按钮时,将调用此函数。
您可以将信息作为布尔值hasBackPressed = true传递setResult()
从活动 1 开始活动 2:
Intent i = new Intent(this, SecondActivity.class);
startActivityForResult(i, 1);
Run Code Online (Sandbox Code Playgroud)
从活动 2 传回信息:
@Override
public void onBackPressed() {
Intent returnIntent = new Intent();
returnIntent.putExtra("hasBackPressed",true);
setResult(Activity.RESULT_OK,returnIntent);
finish();
}
Run Code Online (Sandbox Code Playgroud)
活动 1 中接收数据:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
if(resultCode == Activity.RESULT_OK){
boolean hasBackPressed = data.getBooleanExtra("hasBackPressed");
}
if (resultCode == Activity.RESULT_CANCELED) {
//Write your code if there's no result
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15568 次 |
| 最近记录: |