【问题标题】:Finishing only one activity in tab layout [closed]仅完成选项卡布局中的一项活动[关闭]
【发布时间】:2012-11-14 22:23:53
【问题描述】:

我正在制作一个带有标签布局的应用程序。在应用程序内部,我有两个活动。一项活动有 30 个项目,我通过按下按钮来标记/取消标记它们。在第二个活动中,只显示标记的项目(我有两个列表视图,我正在传递一个包含被标记项目数量的数组)。这就是问题所在,假设我在第一个活动中标记了 2 个项目,我要去第二个,一切正常,但是当我回去标记 2 个新项目时,我的第二个活动没有任何反应。我知道为什么,我在 oncreate 方法中“制作”我的项目,当我在第一个活动中时,我的第二个活动是 onPause。 所以我想完成那个活动,但问题出在这里当我写这样的东西时:

    @Override
protected void onPause() {
    Second.this.finish();
    super.onPause();
}

它关闭了整个应用程序,如何只完成第二个活动,以便每次再次打开时都可以调用 oncreate 方法?感谢您的帮助

【问题讨论】:

    标签: android tabs android-activity activity-finish


    【解决方案1】:

    您不应该完成该活动。一旦您标记了新项目将它们的状态(标记/未标记)存储在数据库或文件或其他任何内容中,一旦您的第二个即将开始,您将需要加载项目并按标记过滤它们,因此您将获得标记项目的列表。

    【讨论】:

    • 好的,所以我在 onCreate 方法中过滤它们,那么在恢复此活动后如何再次转到 onCreate 方法?
    • onCreate 方法仅在活动开始时调用一次。 Here's关于活动生命周期的链接。正如 Vladimir 所说,将状态存储在数据库、文件或其他形式的存储中。为什么不将“过滤器”代码放在您创建的方法中,并在需要“过滤”对象时调用该方法?我希望这会有所帮助
    • 没办法,在 onResume 或 onStart 或 onRestoreInstanceState 上调用它。这取决于您的应用程序的逻辑
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-12
    • 1970-01-01
    • 2010-10-08
    相关资源
    最近更新 更多