【问题标题】:good practice using finish()使用 finish() 的好习惯
【发布时间】:2011-08-31 10:01:11
【问题描述】:

我真的是 android 新手,我创建了一个应用程序,该应用程序具有通向其他活动的按钮,在这些活动中,数据被选择通过具有附加功能的意图发送回主要活动。

当我完成数据收集活动后,我调用 finish() 方法返回到我的主要活动。

用户可能希望重新访问信息收集活动以输入新数据,但当他们返回活动时,之前输入的数据是否不存在也没关系。

在编写应用程序时,这被认为是好的还是坏的做法?

谢谢, 中号

【问题讨论】:

    标签: android activity-finish


    【解决方案1】:

    取决于您的应用程序。

    如果您的应用程序需要像选项活动或日期输入活动这样的永久数据,您必须“保存”活动的更改。 使用 Overryde 方法有一个简单的形式:

    /**
     * Method onSaveInstanceState.
     * @param outState Bundle
     */
    @Override
    protected void onSaveInstanceState(Bundle outState) {
        outState.putBoolean("ISCALLSMS", isOnCallingSms);
        super.onSaveInstanceState(outState);
    }
    
    
    /**
     * Method onRestoreInstanceState.
     * @param savedInstanceState Bundle
     */
    @Override
    protected void onRestoreInstanceState(Bundle savedInstanceState) {
        if ( (savedInstanceState != null) && (savedInstanceState.containsKey("ISCALLSMS")) ){
            isOnCallingSms = savedInstanceState.getBoolean("ISCALLSMS");
        }
        super.onRestoreInstanceState(savedInstanceState);
    }    
    

    *这是我的应用程序的一个示例。 Yoy 应该决定您需要保存哪些数据。还有其他方法可以保存您的数据,这只是其中一种。

    在其他情况下,如果您的应用不需要保存数据,那么您可以如何完成活动

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-17
      • 2012-11-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多