我已經卡住的問題是 我有4個活動分別爲A,B,C和d。流程是先A然後B然後C等等。 我想傳遞給B和A的數據然後數據A + B到C,則A + B + C,以d的數據等等.. 我在活動中使用的Hashmap
傳遞值從活動A到B並從B到C等在機器人
HashMap<String, String> hashMap = new HashMap<>(); //declared Globally
hashMap.put("key", value);
i.putExtra("map", hashMap); (i is the Intent Object)
startActivity(i); //Starting the Intent
甲意圖
而在接收端即活動B
HashMap<String, String> hashMap = (HashMap<String, String>)i.getSerializableExtra("map");
在這裏,我能夠獲得成功的數據,但是當我嘗試在盼着通過這個數據到下一個活動,我得到造成NullPointerException
空值。 在B活性
Hashmap<String,String> hashMap2 = new HashMap<>;
hashMap2.put("key",hashMap.get("key"));
Log.i("Value:",hashMap.get("key"));
這裏我得到的值,成功地把當同樣的方式我通過hashmap2
到C活性我得到NullPointerException
。 不理解什麼是錯在這裏。
我要傳遞的值,而不是存儲它們,所以我寧願在意圖共享偏好。
感謝您的幫助。我發現它爲什麼給我空值 1)在B活動中,我做錯了方法來獲取值,即首先getIntent,然後A + B值的總和即putExtra應該當我宣佈爲C類的新意圖的前提下使用。因爲我是第一次做putExtra,然後新的意向C,所以在C I用來獲取空值。
,可以使用共享的,而不是從一個活動將值傳遞給另一個偏好。 –
更好地使用SharedPrefrence – Shekhar
爲什麼你已經標記了[tag:javascript]? –