我想在android应用程序上做一些简单的事情。 怎么可能回到以前的活动。
我需要什么代码回到以前的活动
我想在android应用程序上做一些简单的事情。 怎么可能回到以前的活动。
我需要什么代码回到以前的活动
当前回答
默认情况下,所有新的活动/意图都有back/previous行为,除非你已经在调用活动上编写了finish()。
其他回答
Android活动存储在活动堆栈中。回到以前的活动可能意味着两件事。
You opened the new activity from another activity with startActivityForResult. In that case you can just call the finishActivity() function from your code and it'll take you back to the previous activity. Keep track of the activity stack. Whenever you start a new activity with an intent you can specify an intent flag like FLAG_ACTIVITY_REORDER_TO_FRONT or FLAG_ACTIVITY_PREVIOUS_IS_TOP. You can use this to shuffle between the activities in your application. Haven't used them much though. Have a look at the flags here: http://developer.android.com/reference/android/content/Intent.html
正如注释中提到的,如果活动是用startActivity()打开的,那么可以用finish()关闭它。 如果你想使用向上按钮,你可以在onOptionsSelected(MenuItem item)方法中捕捉到,检查android.R.id.home的项目ID,而不是评论中提到的R.id.home。
试着活动#完成()。这或多或少是后退按钮默认的功能。
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
这将使您到前一个活动保持其堆栈,并从堆栈中清除它之后的所有活动。
例如,如果堆栈为A->B->C->D,并且您以该标志开始B,则堆栈将为A->B
试试这个, 第一个活动
Intent mainIntent = new Intent(Activity1.this, Activity2.class);
this.startActivity(mainIntent);
在第二个活动中
@Override
public void onBackPressed() {
this.finish();
}
如果你想去只是想去以前的活动使用
finish();
OR
onBackPressed();
如果你想去第二个活动或以下使用以下:
intent = new Intent(MyFourthActivity.this , MySecondActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
//Bundle is optional
Bundle bundle = new Bundle();
bundle.putString("MyValue1", val1);
intent.putExtras(bundle);
//end Bundle
startActivity(intent);