【问题标题】:How do I get out of an activity and restore it in exactly its previous state?如何退出活动并将其恢复到之前的状态?
【发布时间】:2012-01-09 04:53:41
【问题描述】:

这是我的代码。它只涉及 2 个按钮和一个在按下按钮时上下移动的数字计数器(整数值和文本大小)。此活动是遵循该流程的更大应用程序的一部分: 1.闪屏 2.列表菜单 3. 菜单中选择的活动(有3个选项,计数器是其中之一)

当我按下后退按钮时,它会返回到列表菜单,当我单击整数计数器选项时,我希望它完全恢复原样 关于我如何做到这一点的任何想法? 谢谢!

public class StartingPoint extends Activity {
/** Called when the activity is first created. */

int counter;
Button add;
Button sub;
TextView display;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    counter=0;

    add= (Button) findViewById(R.id.bAdd);
    sub= (Button) findViewById(R.id.bSub);
    display= (TextView) findViewById(R.id.tvDisplay);

    add.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            counter++;
            display.setText(""+counter);
            display.setTextSize(counter);
        }
    });
    sub.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            counter--;
            display.setText(""+counter);
            display.setTextSize(counter);
        }
    });

}

}

【问题讨论】:

    标签: android


    【解决方案1】:

    你有两个不错的选择:

    要么使用 SharedPreferences 来存储你的变量 onStop() 并加载它 onStart() - How to use SharedPreferences in Android to store, fetch and edit values;

    或者,如果它只是一个整数,您可以使用 startActivityForResult 方法来实例化您的整数计数器活动并从活动中捕获结果,如Android: Capturing the return of an activity 中所述。

    希望对你有帮助!

    【讨论】:

    • 您还可以使用静态数据、文件系统或数据库。
    • 是的。在我看来,那些对我来说是最直接的,但你建议的那些也是完全可行的。
    • 如果我在 onStop() 上使用了 sharedpreferences,然后我使用 taskkiller 或其他什么东西退出了应用程序...是否会删除使用 sharedpreferences 存储的数据?
    • 没有。引用developer.android.com/guide/topics/data/data-storage.html#pref,“SharedPreferences 类提供了一个通用框架,允许您保存和检索原始数据类型的持久键值对。您可以使用 SharedPreferences 保存任何原始数据:布尔值、浮点数、整数、长整数和字符串。这些数据将在用户会话中持续存在(即使您的应用程序被终止)。"
    猜你喜欢
    • 2018-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-05
    • 2021-05-22
    • 1970-01-01
    • 2014-05-29
    • 2015-11-11
    相关资源
    最近更新 更多