检测活动何时发生变化

时间:2013-03-02 14:20:52

标签: java android android-activity

我正在尝试向Activity添加保存对话框。

如果您按回,我已经捕获它并添加了一个保存对话框。

由于我有一个通用的操作栏,有没有办法捕获活动事件的变化而不将其硬编码到活动变更本身?

我用Google搜索了一下,发现没有运气,onDestroyonStop似乎没有做我想做的事。

3 个答案:

答案 0 :(得分:2)

如果您想知道活动何时停止显示(无论出于何种原因),请覆盖onPause(请参阅http://developer.android.com/reference/android/app/Activity.html)。

顺便说一句,作为一个用户,我会想要这种行为 - 如果我在没有按下后退按钮或退出的情况下离开活动,我希望它能默默地处理所有事情 - 即你使用onPause(或替代品)存储东西,以便在活动恢复时它具有我离开时的所有内容。

答案 1 :(得分:1)

您可以这样做的一种方法是编写一个继承自Activity的类并实现该类中的行为。然后只需为您的所有活动继承此类。

您可以编写一个实现保存行为的类

class SaveActivity extends Activity {

    //...

    @Override
    public void onBackPressed() {
        // common behaviour you want
    }
}

然后在你的活动中你可以做到这一点

class MyActivity extends SaveActivity {

    // code for this activity

}

答案 2 :(得分:1)

onPause()可能是您应该关注的内容。当任何活动进入此活动的顶部时调用它。