切换活动失去功能
Switching activities loses functionality
我有一个包含 3 个活动的应用程序
- 主要Activity
- 计算器Activity
- 信息Activity
我的 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()
修复了损坏的功能,虽然你们都是正确的,但我只能选择一个答案。
谢谢
我有一个包含 3 个活动的应用程序
- 主要Activity
- 计算器Activity
- 信息Activity
我的 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()
修复了损坏的功能,虽然你们都是正确的,但我只能选择一个答案。
谢谢