在我的应用中,我有 3 个活动.
In my app i have 3 activities.
从第 1 个活动到第 2 个,从第 2 个活动到第 3 个.从 3 日开始,它又回到了 1 日.如果我从 1 号开始按后退键,它应该会转到主屏幕(应用程序将停止).如果我按下第一个的返回键,它会再次进入第二个活动,如果我按下第二个的返回键,它就会进入第一个.然后,如果我按下第一个的返回键,则应用程序停止.
From 1st activity it goes to 2nd and from 2nd it goes to 3rd. From 3rd it is coming to 1st again. and if I press back key from the 1st then it should go to home screen (App will stop). If I press back key of 1st its goes to 2nd activity again and if I press 2nd's back key, then it goes to the 1st . Then if I press back key of 1st then app stops.
我想要的是,当我在第 3 个活动中按后退按钮时,它应该转到第 1 个并同时完成第 2 个活动.
What I want , when I am in 3rd activity and press the back button then it should go to 1st and simultaneously finish the 2nd activity.
我该怎么做?
推荐答案当你打开第三个活动时,只需完成第二个活动
just finish the second activity when you open third activity
假设在点击某个按钮的第二个活动中,您正在使用启动活动打开第三个活动;
suppose in second activity on some button click you are opening third activity using start activity;
startActivity(intent); finish();//this will finish second activity and open third activity so when you press back from third activity it will open first activity.如果你想依赖于某种条件,那么就依赖于活动
if you want depended on some condition then on activity
setResult(123);类似这样的代码
现在当在第二个活动中覆盖 onActivityResult 时
now when override onActivityResult in second activity
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(resultCode==123){ //finish } }还要确保你需要使用 startActivityForResult(intent, requestCode);导致第二个活动开始第三个活动.
also make sure one thing you need to use startActivityForResult(intent, requestCode); for result in second activity to start third activity.
import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; public class Activity2 extends Activity{ Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main1); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivityForResult(new Intent(new Intent(Activity2.this,Activity3.class)), 12); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if(resultCode==123 && requestCode==12){ finish(); } super.onActivityResult(requestCode, resultCode, data); } } import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; public class Activity3 extends Activity{ Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main1); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { setResult(123); } }); } }更多推荐
android如何完成其他活动的活动
发布评论