【发布时间】:2016-04-21 11:56:30
【问题描述】:
我有一个包含 3 个活动的应用程序
- 主要活动
- 计算器活动
- 信息活动
我的 MainActivity 有一个确认按钮,onClick 会启动 CalculatorActivity 并且一切都正确完成并按预期工作。
CalculatorActivity 有 2 个按钮,一个用于检查内容并显示消息的 calculateButton 和一个用于启动 InformationActivity 的 learnMore 按钮。
当我在 CalculatorActivity 第一次一切正常且正常工作。按下 learnMoreButton 会将我导航到 InformationActivity。该活动如下所示:
信息活动:
goBackButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
switchActivity();
}
});
}
public void switchActivity(){
final Intent intentObj = new Intent(this,CalculatorActivity.class);
startActivity(intentObj);
}
一个让我回到 CalculatorActivity 的返回按钮。返回似乎破坏了功能。虽然布局在那里并且一切看起来都应该是,但按下按钮(calculateButton、learnMoreButton)确实什么都没有。
计算器活动:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_calculator);
final Button calculateButton = (Button) findViewById(R.id.calculateId);
final Button learnMoreButton = (Button) findViewById(R.id.learnMoreButtonId);
还有一些 TextView 和 EditText 没有在这里显示,但你明白了。还有一些方法可以进行计算、getter 和 setter。
这个方法
public void switchActivity(){
final Intent intentObj = new Intent(this,Information_activity.class);
startActivity(intentObj);
}
但我没有使用 onResume() 、 onPause() 或生命周期中除 onCreate() 之外的任何方法。 p>
从我所做的一些搜索中,我发现我在管理活动生命周期的方式上做错了,但我仍然找不到解决方案。开发文档对我没有太大帮助,我发了一个帖子有点像我的老问题。
我的问题是,应该如何完成从 InformationActivity 到 CalculatorActivity 的导航,这样当 CalculatorActivity 返回时功能不会中断与用户交互。应该调用哪个方法onResume()? , onRestart()?它应该是什么样子?
感谢任何愿意提供帮助的人。
P.S:正如我所提到的,我已经阅读了 Activity 生命周期的文档,但我还没有找到解决方案。
【问题讨论】:
-
如果您明确拥有每次按下时都会启动新活动的按钮,并且即使在返回流程时您也不想使用后退按钮,您可能想在开始新活动之前尝试完成活动一 。您可以在调用 startActivity(intentObj) 后使用 finish()
标签: java android activity-lifecycle