我有一个包含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);
}


一个goBack按钮使我回到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不在这里显示,但您可以理解。有更多的方法可以进行计算,获取和设置。

这个方法
public void switchActivity(){ final Intent intentObj = new Intent(this,Information_activity.class); startActivity(intentObj); }

但是我没有使用onResume(),onPause()或生命周期中除了onCreate()之外的任何方法。

从我进行的一些搜索中发现,我在管理活动生命周期的方式上做错了事,但仍然找不到解决方案。开发文档并没有太大帮助,并且帖子内容大致相同问题是我的老了。

我的问题是,应该如何完成从InformationActivity到CalculatorActivity的导航,因此当CalculatorActivity返回与用户进行交互时功能不会中断。哪个方法应该调用onResume()? ,onRestart()?看起来如何?

感谢任何愿意提供帮助的人。

附注:如前所述,我已经阅读了Activity生命周期的文档,但没有找到解决方案。

最佳答案

试试看

goBackButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        InformationActivity.this.finish();
    }
 });
}


您不必说要返回哪里,只需完成活动即可,它将自动将您切换到上一个活动。

关于java - 切换 Activity 失去功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36768875/

10-10 07:00