当前位置: 首页 > 知识库问答 >
问题:

Android用数据维护活动状态

谢昊乾
2023-03-14

我有两种不同的活动。主要活动,联系人列表

在联系人详细信息

Intent Intent=新的Intent(getBaseContext(),MainActivity)。类);意图putExtra(“联系人编号”,联系人编号);星触觉(意图)

在MainActivity OnResume方法中

字符串数据=getIntent()。getExtras()。getString(“keyName”);

arr.add(数据);

共有2个答案

颛孙飞鸾
2023-03-14

无论你从哪里得到的列表在MAYActivity.java,把它作为公共静态ArrayList或String数组,不要初始化它在MAYActivity.java.

另外,如果尚未为MainActivity调用finish()(在转到ContactListActivity.java时),则将新数据添加到onResume()中的arraylist中。但请记住,要随时检查您是否有新数据要添加,因为第一次没有数据要添加(根据您发布的问题)。

金高飞
2023-03-14

如果您希望在活动的生命周期内持久化数据,SharefPreferences将为您提供良好的服务。例如:

写(onPence/onDestroy):

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(getString(R.string.saved_high_score), newHighScore);
editor.commit();

阅读(onResume/onCreate):

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
int defaultValue = getResources().getInteger(R.string.saved_high_score_default);
long highScore = sharedPref.getInt(getString(R.string.saved_high_score), defaultValue);

在这里阅读更多。

最新消息

或者,您也可以使用onSavedInstanceState。例子:

保存状态:

@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
    // Save the user's current game state
    savedInstanceState.putInt(STATE_SCORE, mCurrentScore);
    savedInstanceState.putInt(STATE_LEVEL, mCurrentLevel);

    // Always call the superclass so it can save the view hierarchy state
    super.onSaveInstanceState(savedInstanceState);
}

恢复状态:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState); // Always call the superclass first

    // Check whether we're recreating a previously destroyed instance
    if (savedInstanceState != null) {
        // Restore value of members from saved state
        mCurrentScore = savedInstanceState.getInt(STATE_SCORE);
        mCurrentLevel = savedInstanceState.getInt(STATE_LEVEL);
    } else {
        // Probably initialize members with default values for a new instance
    }
    ...
}

有关管理活动状态的详细信息,请访问此处。

 类似资料:
  • 我是Android编程新手。 我想了解如何为特定的Android应用程序维护活动堆栈,以及它如何根据用户导航进行更改。 例如,如果有多个活动,那么当用户单击“后退”按钮或“主页”按钮或启动新活动时,活动堆栈的行为如何? 我试图找到一个合适的职位,我可以得到所有的信息,但我没有得到任何。有人能建议我一些链接/帖子,我可以学习这个吗? 编辑: 到目前为止我遇到的链接/帖子: > onSaveInsta

  • 简介: null 问题是,在提交通过长时间运行的任务全程记录后,连接池使用“活动”连接。如果突发足够大,这可能会耗尽我拥有的任何大小的池。 我正在使用具有以下结构的spring boot: 控制器-在“/”处响应,并使“服务”autowired。 服务-包含与数据库交互的所有JPA存储库和@Transactional方法。

  • 有的时候,你需要对仓库进行清理 - 使它的结构变得更紧凑,或是对导入的仓库进行清理,或是恢复丢失的内容。 这个小节将会介绍这些情况中的一部分。 维护 Git 会不定时地自动运行一个叫做 “auto gc” 的命令。 大多数时候,这个命令并不会产生效果。 然而,如果有太多松散对象(不在包文件中的对象)或者太多包文件,Git 会运行一个完整的 git gc 命令。 “gc” 代表垃圾回收,这个命令会做

  • 嗨,我正在开发一个android应用程序,有两个实际上相同的活动,但加载不同的数据。我目前有两个活动有很多重复的代码,我觉得我可以通过只使用一个活动来优化它。

  • 我正在Wordpress中实现一个主题。此主题有一个顶部导航菜单,每个父项下都有水平子菜单。它将“活动”类放在当前已查看的父项上(否则不会显示其子菜单项)。通过在函数中使用这两个函数,我设法在当前父项上维护“活动”类。php。 但是现在我的问题是,当我点击任何父菜单项的子菜单或子菜单项时,它成功地将我带到子页面,但从父菜单中删除“活动”类,并将其放在子菜单项上(因为它是当前查看的页面)。我不希望它

  • 我们正在评估Magento的电子商务解决方案。Magento解决方案是定制的,可以连接到一系列内部系统,用于支付、订单处理和其他功能。 我们正在计划使用少数外部订单状态和内部订单状态来处理从一个集成到另一个集成的系统工作流。我们的策略是,内部状态是我们支持的内部状态,客户看到外部状态,它们一起帮助我们确定每个状态的关闭(例如,支付成功),然后导航到下一步(订单创建)。这样做的原因是,大多数内部服务