【问题标题】:How to clear data from activity using device back button如何使用设备后退按钮从活动中清除数据
【发布时间】:2013-03-11 19:03:13
【问题描述】:

我创建了一个 android 应用程序,它在活动 A 中有 3 个活动(A、B、C)有 2 个自动完成 textview 在自动完成文本用户按下按钮中选择数据后从数据库和按钮中获取数据,然后它转到显示listview的下一个活动。

现在的问题是,当我从listview 按下设备后退按钮时,显示活动 A 与自动文本中的选定数据如何在按下设备后退按钮时避免选定数据。

感谢您提前提供帮助

【问题讨论】:

    标签: android button android-activity reload


    【解决方案1】:

    你应该实现 startActivityforResut 当您返回此活动的结果时,您可以清除数据

    【讨论】:

      【解决方案2】:
      protected void onResume(){
          super.onResume();
          setContentView(R.layout.activity_main);
      }
      

      这也很好用..

      【讨论】:

        【解决方案3】:

        为了解决这个问题,我会简单地重写 onBackPressed() 方法,并在那里,我会清除活动堆栈,因为没有逻辑解释将活动保留在内存中,然后对你的原始活动开始一个新的意图. 这是代码。

        @Override
        public void onBackPressed() {
        
             Intent intent = new Intent(this, Activity_A.class);      //I suppose they are in same package
        
             intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
             startActivity(intent);
        
        }
        

        希望对你有帮助。

        【讨论】:

          【解决方案4】:

          当您尝试清除上一个活动中的字段时,listactivity 的后退按钮没有任何内容。由于您在创建列表活动时没有完成以前的活动,因此以前的活动不会改变。因此,当您从列表中返回时,您所说的数据与以前相同。按照@Dave 的建议这样做,您可以在 oResume 方法或 onPause 方法中完成清除。但有一个问题。如果您在 onResume 或 onPause 中清除数据,您的数据将因其他暂停或恢复原因(如按主页或其他应用程序等)而被清除。因此您可以执行以下两项中的任何一项

          选项 1:

          启动列表活动时清除上一个活动的数据

          选项 2:

          而不是startActivity 调用startActiviyForResult 并覆盖onActiviyResult 方法。因此,您可以检测到您何时从列表活动中返回。然后清除数据。

          【讨论】:

          • 哦,我明白你的意思了。我认为 OP 想在每次活动恢复时清除。
          【解决方案5】:

          当您按下返回按钮时,活动 A 将“恢复”。因此,在您的 Activity A 中覆盖“onResume”...在 onResume 方法中,清除您的字段。

          【讨论】:

          • 如果由于按下主页按钮等其他原因暂停活动怎么办。在这种情况下,您的解决方案将失败
          • 怎么样? onResume 是应用程序生命周期的一部分。如果按 Home 则返回活动,如果可以恢复则恢复;如果不是,那么它将被创建然后 onStart 然后 onResume。我理解基本问题是,“如何在屏幕可见时清除数据。”
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-05-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多