37得票3回答
当按下返回按钮时如何用片段A替换片段C?

我的情况: 活动1包含片段A-> B-> C。所有片段都使用以下代码添加: FragmentManager fm = getSupportFragmentManager(); FragmentTransaction ft = fm.beginTransaction...

35得票3回答
片段方法:attach(),detach(),remove(),replace(),popBackStack()

我对这些函数及其目的感到非常困惑。根据我的观察,使用replace()会用新的片段替换现有的片段。我们可以使用addToBackStack(null)将该片段放入返回堆栈中,以便可以返回到先前显示的片段。现在当添加(或替换)片段时,片段的onAttach()、onCreate()等方法按顺序调...

34得票3回答
如果后台堆栈中已经存在,则恢复活动而不是重新启动

在很多步骤之后,我有一个名为Activity_1的活动 Activity_2 > Activity_3 .... 在某些Activity_n中,我更改了与Activity_1相关的一些数据并使用以下方式调用它Intent intent = new Intent(Activity_n.this...

32得票8回答
从后台堆栈中弹出时,片段的onResume()方法未被调用

您好,我正在开发一个安卓应用程序,其中使用了单一Activity和3个片段。假设我有3个片段A B C。当我从A切换到B时,我会将Fragment添加到后退堆栈中,从B到C同样如此。现在,当我从C返回时,它会显示B,并且从B到A也是这样。 但是问题是当我从C到B或从B到A时,它没有调用onR...

27得票6回答
Fragment addToBackStack() 和 popBackStackImmediate() 不起作用

我目前正在构建一个Android应用程序(14 ActionBarActivity和更多的Fragments(例如ListFragment和MapFragment),它们在单个FrameLayout视图中进行切换。 ActionBarActivity会自动替换/提交片段A。当用户点击按钮时,...

25得票7回答
活动被销毁时,后退栈的不良行为

我有两个活动,假设为A和B。在activity A中注册了一个广播接收器,用于监听特定事件并终止activity A。我在activity A的onCreate()方法中注册广播接收器,并在onDestroy()方法中销毁它。 为简单起见,在activity B中有一个名为“Destroy ...

24得票11回答
返回结果:返回栈管理:重启器只能在所有者的初始化阶段创建。

我在我的MainActivity中使用底部导航栏来处理一些片段。以下是用于在片段之间进行切换的代码:private val mOnNavigationItemSelectedListener = BottomNavigationView.OnNavigationItemSelectedList...

24得票4回答
无历史记录(noHistory)与finish() - 哪个更好?

当用户按下“返回”按钮时,我不希望我的应用程序显示某些Activity(例如SplashScreenActivity)。因此,我在我的Manifest.xml中为该Activity使用了noHistory=true,如下所示:<activity android:name="com...

21得票3回答
当ViewPager中的Fragment被保留在BackStack中时,WebView会重新加载

下面是一个包含 WebView 的基本 Fragment 代码。 WebFragment.javapublic class WebFragment extends Fragment { String TAG = "WebFragment"; private WebView webView; p...

21得票8回答
如何在Android应用程序中查找返回堆栈活动?

我有一个应用程序,活动栈为A -> B -> C -> D -> E。现在在活动E中,我想知道我从哪些后退栈活动导航而来。我该如何找到这个信息?