如何在按下按钮时返回特定的先前活动

时间:2017-03-14 05:34:49

标签: android android-intent android-activity onclick onbackpressed

我有下一个问题。我们假设我有三个活动:A to C。我可以来自B to C,也可以来自Activity C。然后,当我按下Intent intent=new Intent(this, C.class); Intent.PutExtra("FROM_A", "A") StartActivity; 中的按钮时,我想回到之前的活动,或A或B.我不知道之前是哪一个。

A活动中的

Intent intent=new Intent(this, C.class);
Intent.PutExtra("FROM_B", "B")
StartActivity;
B活动

public void onClick(View v) {
    onBackPressed();    // automatic know which Activity i came from(A or B)
} 
活动C中的

True if len([i for ind,i in enumerate(sorted([sorted(it.chain.from_iterable([value for key,value in v.iteritems()])) for k,v in d.iteritems()])) if check[ind] in i])==len(check) else False

请帮助我。什么错了?

感谢您的回答。

4 个答案:

答案 0 :(得分:2)

A活动中的

Intent intent=new Intent(this, C.class);
startActivity(intent);
B活动

Intent intent=new Intent(this, C.class);
startActivity(intent);
活动C中的

public void onClick(View v) {
    finish();    
} 

答案 1 :(得分:2)

活动C中的

public void onClick(View v) {
    finish();
} 

答案 2 :(得分:0)

活动A中的

    Intent intent=new Intent(this, C.class);
    intent.PutExtra("FROM_A", "A")
    startActivity(intent);
    finish();  
活动B中的

    Intent intent=new Intent(this, C.class);
    intent.PutExtra("FROM_B", "B")
    startActivity(intent);
    finish();  
活动C中的

    public void onClick(View v) {
      Intent intent=new Intent(this, YourActivity.class);
      startActivity(intent);
      finish();  
    } 

答案 3 :(得分:0)

Android Activity基于堆栈算法,当您在app中打开新活动时,堆栈会推动您的活动,当您移除活动时,堆栈会弹出您的活动。因此,当你从A转到C和B转到C时,这个活动会添加到堆栈并按照后面的第一个进行操作。因此,只需要在按下按钮时调用finish()方法。谢谢。