切换活动失去功能

Switching activities loses functionality

我有一个包含 3 个活动的应用程序

我的 MainActivity 有一个确认按钮 onClick 启动 CalculatorActivity 一切都完成了正确并按预期工作。

CalculatorActivity 有 2 个按钮,一个 calculateButton 用于检查某些内容并显示消息,另一个 learnMorebutton 用于启动 InformationActivity.

当我在 计算器Activity 第一次一切正常,working.Pressing learnMoreButton 将我导航到 信息Activity.activity 看起来像这样 :

信息Activity:

 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);
}

一个让我返回到 计算器Activity 的返回按钮。返回似乎打破了 functionality.Although 布局在那里,一切看起来都一样应该是,按下按钮 (calculateButton,learnMoreButton) 什么都不做。

计算器Activity:

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,但您可以获得 point.Some 更多执行计算、getter 和 setter 的方法。

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

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

从我所做的一些搜索中,我发现我在管理 activity 生命周期的方式上做错了,但我仍然找不到 solution.The 开发文档帮助我很多,post 和我的老问题有点相同。

我的问题是,如何从信息Activity导航到计算器Activity,因此,当 CalculatorActivity 返回与 user.Which 方法交互时,功能不会中断,应调用 onResume()? , onRestart()?它应该是什么样子?

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

P.S:正如我提到的,我已经阅读了有关 Activity 生命周期的文档,但我还没有找到解决方案。

与其每次都开始新的activity,不如完成信息activity。

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

}

试试这个

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

不用说要返回哪里,您只需完成 activity,它会自动将您切换到上一个。

您创建了太多以这种方式来回移动的活动。您可以使用 finish(); 销毁 activity,也可以使用 onBackPressed();onBackPressed();

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

我认为您的活动是分层的,因此您应该能够从主计算器中执行以下操作 activity:

Intent i = new Intent(this, InformationActivity.class);
startActivityForResult(i);

您的后退按钮添加此代码:

goBackButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        setResult(Result.OK);
        finish();
    }
});

你们的建议都是一样的thing.Adding

Information_Activity.this.finish()

修复了损坏的功能,虽然你们都是正确的,但我只能选择一个答案。

谢谢