Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
387 views
in Technique[技术] by (71.8m points)

How to close activity and go back to previous activity in android

I have a main activity, that when I click on a button, starts a new activity, i used the following code to do so:

Intent intent = new Intent(this, SettingsActivity.class);
startActivity(intent);

The above code was run from the main activity.

Now in my new activity which is called by the main activity, I have a back button. When I click on this back button I want my new activity to close and it must go back to the original main activity.

I have tried calling super.finish() and just finish() (from the new activity) but this then closes my entire application (including my main activity).

How can I just close the activity that is currently in focus, and then return to the main activity?

EDITED

The fact that my phone's back button also closes my entire app, leads me to think that i have started up the second activity incorrectly?


OK I have been looking,

I created a Settings Activity that uses the same manifest code and the same code to Start the activity.

For the settings Activity when I push the back button, it returns to the Main activity.

With the activity mentioned above in the main question it simply exits my entire app.

So the problem doesn't seem to be with the code to finish the activity but the activity itself.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

I think you are calling finish() method in MainActivity before starting SettingsActivity.

The scenario which you have described will occur in following two ways:

EITHER

You have set android:noHistory = "true" for MainActivity inside AndroidManifest.xml which causes MainActivity to finish automatically on pressing the back key.

OR

Before switching to your 'SettingsActivity', you have called finish() in your MainActivity, which kills it. When you press back button,since no other activity is preset in stack to pop, it goes back to main screen.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...