大家好,我嘗試了意圖的2類之間的機器人傳球和我已經意識到有2種方法來傳遞意圖,getIntent()和從savedInstanceState獲取意圖有什麼區別?
一是採用getIntent方法在這裏:
Bundle extras = getIntent().getExtras();
mRowId = (extras != null) ? extras.getLong(DrugsDbAdapter.KEY_ROWID) : null;
而且第二種方法是訪問savedInstanceState:
mRowId = (savedInstanceState != null) savedInstanceState.getLong(DrugsDbAdapter.KEY_ROWID) : null;
在這兩種方法,我試圖訪問rowid的,我可以再使用fetchData。兩種方法有什麼區別?哪一個更好 ?
你是否在第二種情況下獲得了rowId?我假設你不這樣做,因爲'savedInstanceState'是空的,除非你在'onSaveInstanceState'中放置了某些東西' – ernazm 2011-05-26 13:21:29
對於記錄來說,第二種方法沒有得到或「傳遞意圖」。兩種方法都得到一個* Bundle *的鍵值對。據推測,這就是你的意思。 'getIntent()。getExtras()'給你類似於傳遞給構造函數的參數。 'savedInstanceState'更像是某個時刻保存的活動的狀態。 – LarsH 2017-10-23 17:33:14