2014-02-22 109 views
0

嗨,我在堆栈中的问题, enter image description here的Android返回堆栈中的片段

在屏幕它不应该回从3到2的屏幕回单击后退按钮在Android手机上。

但3屏幕里面,首先它会显示主屏幕,然后预订并atlast XYZ

当E CLIK早在3屏幕它来从XYZ书籍屏幕,然后到主屏幕finaly它不应该去回到2屏幕。

fragmentManager.beginTransaction()add(R.id.frame_container,fragment).addToBackStack(null).commit(); 

的用户名和密码是活动,

3屏幕是FragmentActivty

+0

是用户名,密码片段还是活动? – Coderji

+0

我在onBackPressed()上编辑了我的文章 –

+0

,我们可以使用getBackStackEntryCount()获得BackStack的计数器。在0的位置,我们可以停止片段移动到其他活动... –

回答

0

当你在这种情况下,密码为活动做了..你可以简单地添加finish()声明startActivity(Home)之前将被删除从BackStack,当按下它将退出你的应用程序

所以它应该是这样的:

Intent i = new Intent(this, ..homeActivity.class); 
finish(); 
startActivity(i); 

同样为用户名的活动,如果你不想取回它

+0

它不工作,它不应该退出我们必须注销表格App –

+1

如果是这样的话,那么在你的FragmentActivity的onBackPressMethod检查,如果回栈是null然后调用你的LogoutFragment。 –

+0

如果我使用backstack它为3屏幕工作,但我想我应该从3到2屏幕。 –

0

如果您不希望保留的活动或片段活动在堆栈中使用noHistory在menifest的活动标签。

<activity 
     android:name="YourActivityName" 
     android:label="@string/app_name" 
     android:noHistory="true" > 
    </activity> 
+0

下面的答案我希望在backstack中的片段,但在片段活动中,我点击它应该不去密码屏幕.. –

+0

然后应用程序应该出口? –

+0

它不应该退出,我们必须注销屏幕 –