将意图活动开始回到同一活动

时间:2014-02-09 01:22:42

标签: android android-intent android-activity

我正在创建一个应用程序,我知道这很惊讶,并使用快速返回按钮将用户返回到上一个列表。下面的代码是启动活动的意图部分。现在它正在通过一个“LvPos”变量将活动发回给自己,以确定它刚刚重新开始的位置。

Spinner spinMe = (Spinner)findViewById(R.id.spinner1);
                                    Intent backIntent = new Intent(null, null, getBaseContext(), MainActivity.class);
                                    int itemSelected = spinMe.getSelectedItemPosition();
                                    backIntent.putExtra("LvPos", itemSelected);
                                    startActivity(backIntent);

现在,下面的代码是onCreate方法中的引用,它获取了LvPos变量。问题是,当我到达这一部分时,LvPos为空。我有各种其他意图的相同代码,所有工作正常。如果有人能看到任何明显的问题,请告诉我,因为我必须严重忽视某些事情。

int positionID = 0;
Bundle extras = getIntent().getExtras();
if (extras != null){
    String LvPosBundle = extras.getString("LvPos");

    if (LvPosBundle != null)
        positionID = Integer.parseInt(LvPosBundle);
}

提前谢谢。

1 个答案:

答案 0 :(得分:1)

当您放置额外的时,您正在使用putExtra(String,int)。

检索时使用:

extras.getString("LvPos");

改为使用:

extras.getInt("LvPos");

以整数而不是字符串存储它。那你也不必做parseInt。

希望这有助于。

-Travis