2014-02-09 79 views
0

我正在創建一個應用程序,令人驚訝,我知道,並使用快速返回按鈕將用戶返回到先前的列表。下面的代碼是啓動活動的意圖部分。現在它通過一個「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

當您放置額外時,您正在使用putExtra(String,int)。

檢索當你使用:

extras.getString("LvPos"); 

改用:

extras.getInt("LvPos"); 

存儲在一個整數,而不是字符串。那麼你也不必做parseInt。

希望這有助於。

-Travis

+0

我知道這件事很簡單,我只是完全看着它。通過所有其他更復雜的代碼,這是最簡單的,它有時可以獲得程序員的最佳效果。你會認爲這會拋出一個錯誤,但我永遠不會忘記的有用信息。 – user3241191

+0

這是真的我的朋友。祝你的項目好運。 – Travis