按下后退按钮后调用onStart和onCreateActivity片段

时间:2013-08-09 09:15:51

标签: android android-fragments fragmenttransaction

情境:
我有一个Activity,其中multiple fragments我是replacing一个片段与另一个片段使用fragment transaction并将它们添加到BackStack。我正在对一些片段进行JSON解析和网络相关任务。

问题: 我的问题是,当我按下后退按钮直到最后一个片段时更换片段后再次调用onStartonActivityCreated方法。我使用navigate每次fragment back button执行这些事件中的代码

但是 EditText中的任何值即使在片段replacing之后仍然相同,并使用后退按钮返回到它。

为什么每次执行onStartonActivityCreated? 有没有什么方法可以让我的代码在返回片段后不执行?

更新 基本上我想在创建片段后设置按钮文本。用户可以更改该文本。但是当我返回到该片段时,用户值会随着我在片段创建时设置的默认文本而改变。

由于

1 个答案:

答案 0 :(得分:5)

您可以将代码仅在片段onCreate()创建片段时运行一次。

<强>的onCreate()

系统在创建片段时调用此方法。在您的实现中,您应该在片段暂停或停止时初始化要保留的片段的基本组件,然后重新开始。

查看片段的生命周期。enter image description here

您还可以获得更多详细信息here