2013-03-02 80 views
0

我正在尝试将保存对话框添加到Activity检测活动何时更改

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

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

我谷歌搜索了一下,发现没有运气,onDestroyonStop似乎并没有做我想做的。

回答

2

一个类无论原因如何),请覆盖onPause(请参阅http://developer.android.com/reference/android/app/Activity.html)。另外,作为一个用户,我想要这种行为 - 如果我离开一个活动而没有按下后退按钮或退出,我希望它会静静地处理所有事情 - 即你使用onPause(或替代方案)来存储事物,以便在活动恢复时它拥有我离开它时的一切。

+0

嗨@Neil Townsend,所以你说的是,对于我来说,在活动改变时自动保存数据而不是提示用户可能更好?但是,我可以在重新按下对话框的时候放置一个对话框吗? – DormeoES 2013-03-02 22:54:46

+0

@DormeoES这是预期的行为,是的。 – 2013-03-03 09:09:14

+0

非常感谢你的答案。 – DormeoES 2013-03-03 10:53:27

1

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

你可以写它实现了节约行为

class SaveActivity extends Activity { 

    //... 

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

然后在你的活动,如果你想知道无论何时停止活动,成为可见的(你可以做到这一点

class MyActivity extends SaveActivity { 

    // code for this activity 

} 
+0

这并不是我一直在寻找的东西,只有在一个Activity中需要回压,所以使其通用将是毫无意义的。 – DormeoES 2013-03-02 22:56:16

1

onPause()可能是你应该看的。当任何活动进入此活动的顶部时,它会被调用。