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

返回到活动时不工作

王刚毅
2023-03-14

单击按钮转到另一个活动,然后返回到原始活动。

我试图保存两个整数离开活动的另一个活动,然后稍后当我返回到原来的活动,我得到一个null包。

有人知道为什么这不起作用吗?

我使用savedInstanceState bundle在屏幕旋转时保存变量,它在这种情况下工作,但是当我离开查看另一个活动并稍后返回此活动时,该bundle没有保存。返回时获取空值。

onSavedInstanceState方法

  @Override
public void onSaveInstanceState(Bundle outState){
super.onSaveInstanceState(outState);

outState.putInt("index", index);
outState.putInt("top", top);

} // end onSavedInstanceState

onCreate方法的第一部分,其中包含获取保存的InstatnceState变量的代码

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_inspectioninfoselectionlist);

    if(savedInstanceState!=null){
        index = savedInstanceState.getInt("index");
        top = savedInstanceState.getInt("top");
        Log.i("$$$$$$$", "value of index and top returned after activity starts" + index +  " " + top);
    }else if (savedInstanceState == null){
        Log.i("$$$$$$$", "saved instance state is null" + index +  " " + top);
    }

共有1个答案

钮出野
2023-03-14

onSaveInstanceState()在发生配置更改时被调用,例如屏幕方向、语言更改等。
打开另一个活动不是配置更改,这就是为什么不调用该方法的原因。

 类似资料:
  • 在我的应用程序中,当我从后台回来时,我的活动会自动接近,并且它总是显示以前的活动。示例:我用活动A启动应用程序 }

  • GraphRequest请求=GraphRequest。newGraphPathRequest(AccessToken.getCurrentAccessToken(),“/我/朋友”,new GraphRequest。Callback(){@Override public void onCompleted(GraphResponse response){//在此处插入代码 } 这是我的男拳。xml

  • 所以我有一个打开活动的通知: 我制作的活动是一个简单的对话框样式的活动。当我从通知抽屉中打开活动时,在任何其他应用程序上,如facebook、whatsapp、chrome浏览器等,活动就会按预期打开。问题是当我试图关闭它,并回到以前的应用程序。 单击对话框中创建的“关闭”按钮时: 同样的事情发生了:活动结束了,但我要回到主屏幕,而不是上一个应用程序。为什么?? *注意:以前的应用程序仍然在后台工

  • 我已使用 startActivityForResult 从父活动启动了子活动。在子活动中执行所需功能后,我正在使用setResult设置结果。但是我没有从孩子活动中获得父母活动的结果。 这是我的代码。 下面是我如何从父活动中调用子活动。 这是我如何设置子活动的结果。 这是我的onActivityResult 这里是当我检查resultCode==活动时。RESULT_OK给出false。我还检查了

  • 我有一个活动,我们称之为FirstActivity.java,它有一个带有通过片段实例化的导航抽屉的actionBar。在这个片段NavigationDrawerFragment.java中,为了实例化ActionBar,我将方法onCreateOptionsMenu(菜单菜单,MenuInflater inflater)、onOptionsItemSelected(MenuItem项)和onPr

  • 我有以下问题:当我从一个活动返回到另一个活动时,我需要打开菜单的某些元素。例如: 现在,当我在我的活动中单击“向上”时,菜单的第一个元素总是打开的(跑步者被拉到的地方)。我需要打开这样的元素,它是在打开新活动之前打开的。例如,我在Articles菜单元素中选择了一篇文章,在单击new activity之后,我想再次打开Articles元素。我试图通过点击后退按钮来实现这一点: 但没用怎么了?