我正在创建一个应用程序,我知道这很惊讶,并使用快速返回按钮将用户返回到上一个列表。下面的代码是启动活动的意图部分。现在它正在通过一个“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);
}
提前谢谢。
答案 0 :(得分:1)
当您放置额外的时,您正在使用putExtra(String,int)。
检索时使用:
extras.getString("LvPos");
改为使用:
extras.getInt("LvPos");
以整数而不是字符串存储它。那你也不必做parseInt。
希望这有助于。
-Travis