2017-03-01 83 views
1

基本上,当手机上按下返回按钮,我想阻止一个特定的活动回到其在android之前的一个。我怎样才能禁用回去在一些活动,而不是在片段

具体来说,我有登录和注册屏幕,当成功登录/注册时,都会启动一个名为HomeScreen的新活动。一旦HomeScreen启动后,我想阻止用户能够返回登录或按下BACK键注册屏幕也我希望他们能够在HomeScreen中的片段之间导航,例如他们可以导航到分享,交流等片段。

我想在backKey中使用finish()方法,但会退出应用程序,我也不想这样做。

+1

只是完成一个启动的主屏幕活动活动,所以它首先成为堆栈 –

回答

1

你可以试试:

public void onBackPressed() { 
     if (getSupportFragmentManager().getBackStackEntryCount() > 1) { 
      getSupportFragmentManager().popBackStack(); 
     } else { 
      finish(); 
     } 
    } 

希望这有助于。

1

呼叫完成(),您启动主屏幕意图:

Intent intent = new Intent(this, HomeScreen.class); 
startActivity(intent); 
finish(); 
+1

我的代码是这样的: @Override 公共无效onBackPressed(){ 诠释计数= getFragmentManager()getBackStackEntryCount() - 1; if(count == 0){ super.onBackPressed(); } else { getFragmentManager()。popBackStack(); } } 这工作正常,但是当我成功地从登入或注册活动,navigte登录到主屏幕,然后按返回键,它返回我登入或注册活动,我只是想阻止。 –