我想在android应用程序上做一些简单的事情。 怎么可能回到以前的活动。
我需要什么代码回到以前的活动
我想在android应用程序上做一些简单的事情。 怎么可能回到以前的活动。
我需要什么代码回到以前的活动
当前回答
将此添加到onCLick()方法中,它将返回到之前的活动
完成();
或者你可以用这个。这对我来说非常有效
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if ( id == android.R.id.home ) {
finish();
return true;
}
return super.onOptionsItemSelected(item);
}
其他回答
默认情况下,所有新的活动/意图都有back/previous行为,除非你已经在调用活动上编写了finish()。
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
这将使您到前一个活动保持其堆栈,并从堆栈中清除它之后的所有活动。
例如,如果堆栈为A->B->C->D,并且您以该标志开始B,则堆栈将为A->B
有一些情况可以回到你之前的活动:
情况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.
你可以试试这个:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
只需在click finish()上写入即可。它将带您到前面的活动。