我想在android应用程序上做一些简单的事情。 怎么可能回到以前的活动。
我需要什么代码回到以前的活动
我想在android应用程序上做一些简单的事情。 怎么可能回到以前的活动。
我需要什么代码回到以前的活动
当前回答
试试这个动作,因为你必须按后退键
finish();
super.onBackPressed();
其他回答
试着活动#完成()。这或多或少是后退按钮默认的功能。
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启动第二个活动(根据您的需求使用startActivity或startActivityForResult)。现在当用户按下后退按钮时,上面的当前活动将被关闭,上一个活动将被显示。
现在假设您有两个活动,一个用于为用户选择一些设置,如语言、国家等,选择后,用户单击Next按钮进入登录表单(例如)。现在如果登录不成功,那么用户将处于登录活动中,如果登录成功怎么办?
如果登录成功,那么您必须启动另一个活动。这意味着将启动第三个活动,并且仍然有两个活动正在运行。在这种情况下,使用startActivityForResult会很好。当登录成功时,将OK数据发送回第一个活动并关闭登录活动。现在,当接收到数据时,然后使用finish启动第三个活动并关闭第一个活动。
将此添加到onCLick()方法中,它将返回到之前的活动
完成();
或者你可以用这个。这对我来说非常有效
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if ( id == android.R.id.home ) {
finish();
return true;
}
return super.onOptionsItemSelected(item);
}
有一些情况可以回到你之前的活动:
情况1:如果你想把结果带回你之前的活动,那么 ActivityA.java
Intent intent = new Intent(ActivityA.this, FBHelperActivity.class);
startActivityForResult(intent,2);
FBHelperActivity.java
Intent returnIntent = new Intent();
setResult(RESULT_OK, returnIntent);
finish();
案例2:ActivityA——> FBHelperActivity---->ActivityA
ActivityA.java
Intent intent = new Intent(ActivityA.this, FBHelperActivity.class);
startActivity(intent);
FBHelperActivity.java
after getting of result call finish();
By this way your second activity will finish and because
you did not call finish() in your first activity then
automatic first activity is in back ground, will visible.