【问题标题】:How to go previous Activity by using back button如何使用后退按钮进入上一个活动
【发布时间】:2015-12-16 16:20:27
【问题描述】:

我创建了两个活动,即活动 A 和活动 B,如果我单击下一个按钮,即在活动 A 中正确转到活动 B 但是当我单击后退按钮时,我想从活动 B 转到活动 A 并从页面滑动从左到右,点击下一页从右向左滑动,

这是我的代码

public void onBackPressed() {
    Intent intent = new Intent(ActivityB.this, Activity.class);
    startActivity(intent);
  finish(); 

【问题讨论】:

  • 只需使用finish() 不需要意图,因为A 已经在堆栈中,当你完成B 时,A 会浮出水面
  • 感谢您的回复
  • @RachitaNanda 不是男人:D
  • @RachitaNanda 我确实使用了你的方式,但应用后如果我点击后退按钮退出应用程序

标签: android


【解决方案1】:

只需从Activity 中删除finish()。

因为当你去第二个活动并完成第一个活动时,没有任何活动和堆栈。

因此,如果您从第二个活动单击返回按钮,如果堆栈中没有活动,应用程序将完成。

你应该使用这种方法。

例如

在 Activity.java 中

Intent first = new Intent(Activity.this,ActivityB.class);
startAcivity(first);
// Don't use finish() here.

在 ActivityB.Java 中

只需点击内置的后退按钮。

或者如果你想使用自己的后退按钮。

在按钮点击事件中使用finish();

【讨论】:

  • 谢谢这对我很有帮助,再次感谢@Chirag
  • 欢迎。快乐 2 帮助。
【解决方案2】:

您只能使用onBackPressed();

   public void onBackPressed() {

        super.onBackPressed();
    }

Android Overriding onBackPressed()

How to go previous Activity by using back button

【讨论】:

  • 我认为不需要使用finish(),如果我点击活动B的后退按钮。活动A将出现而不使用finish()。我说的对吗?
  • @ChiragSavsani ji .Edited。那么super.onBackPressed();是安全的
  • 是的,这也可以,但是如果您不覆盖onBackPressed() 方法并单击后退按钮也可以。如果存在第一个活动。
  • @ChiragSavsani 我确实添加了该代码,但应用后如果我单击后退按钮退出应用程序
  • @Vishal 那么问题出在您的活动 A 中,当您转到活动 B 时,您可能已完成活动。活动A的邮政编码
【解决方案3】:

无需设置意图并开始一个新的活动,将您带到以前的活动。

只需调用'finish()'

它会以Android activities are stored in the activity stack返回到之前的活动

如果您在活动之间存在其他活动,请说如果android堆栈充满了活动A>活动C>活动B,如果您想在活动B完成时转到活动A,那么您必须设置一个意图标志如FLAG_ACTIVITY_REORDER_TO_FRONT or FLAG_ACTIVITY_PREVIOUS_IS_TOP

【讨论】:

    【解决方案4】:

    只需使用finish() 不需要意图,因为 A 已经在堆栈中,当你完成 B 时,A 会浮出水面

     public void onBackPressed() {
    
            finish(); 
    
         }
    

    阅读 this 了解更多关于 android 活动堆栈的信息。

    【讨论】:

      【解决方案5】:
       public void onBackPressed() {
          // TODO Auto-generated method stub
              finish();
                  super.onBackPressed();
      }
      

      【讨论】:

      • 我确实添加了该代码,但应用后,如果我点击后退按钮退出应用程序
      • 或者把 yourlayout.setVisibility(View.GONE);在 onBackpressed @Vishal 内
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多