【问题标题】:Fragment onStart and onCreateActivity called after back button press按下后退按钮后调用片段 onStart 和 onCreateActivity
【发布时间】:2013-08-09 18:03:26
【问题描述】:

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

问题: 我的问题是,当我按下后退按钮导航到最后一个片段时替换片段后,onStartonActivityCreated 方法再次调用。每次我使用back buttonnavigatefragment 时,我在这些事件中的代码都会执行。

但是 EditText 中的任何值即使在 replacing 片段并使用后退按钮返回它之后仍然保持不变。

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

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

谢谢

【问题讨论】:

    标签: android android-fragments fragmenttransaction


    【解决方案1】:

    您可以在片段的onCreate() 中将您的代码只运行一次片段创建..

    onCreate()

    系统在创建片段时调用它。在您的实现中,您应该初始化您希望在片段暂停或停止然后恢复时保留的片段的基本组件。

    查看fragment的生命周期。

    您还可以获取更多详情here

    【讨论】:

    • 按钮文字是通过什么方法设置的?
    猜你喜欢
    • 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
    相关资源
    最近更新 更多