[英]getStringArrayExtra() always return null
我正在嘗試從我的主要活動中打開新的Google地圖活動,我在主要活動中傳遞Extras並檢查意圖一切正常並且所有信息都在那里。當新活動打開時,如果我使用調試檢查信息我可以看到一切都很好,當我使用getStringArrayExtra()
它總是返回NULL。
主要活動
mapIntent.putExtra("LAN_LIST", goodLan.toArray());
mapIntent.putExtra("LON_LIST", goodLon.toArray());
mapIntent.putExtra("HeadLine_LIST", goodheadline.toArray());
mapIntent.putExtra("Context_LIST", goodcontext.toArray());
startActivity(mapIntent);
地圖活動
Intent intent = getIntent();
lan = intent.getExtras().getStringArray("LAN_LIST");//does not work
lan = intent.getStringArrayExtra("LAN_LIST");//does not work too
lon = intent.getStringArrayExtra("LON_LIST");//same
Headline = intent.getStringArrayExtra("HeadLine_LIST");//same
Context = intent.getStringArrayExtra("Context_LIST");//same
我沒有發布日志,因為我沒有任何異常,所有變量都得到null
和它。
謝謝!
當您將值設置為數組時,您可以嘗試這樣做:
mapIntent.putExtra("LAN_LIST", goodLan.toArray(new String[goodLan.size()]));
假設列表僅包含字符串,這將起作用。
或者,在MainActivity中,您可以使用ArrayList傳遞它們
mapIntent.putStringArrayListExtra("LAN_LIST", (ArrayList<String>) goodLan);
然后你可以在MapActivity上接收它們作為intent.getExtras().getStringArrayListExtra("LAN_LIST");
我所要做的就是將信息作為List傳遞。
您還必須添加activity的名稱作為方法getStringArray的參數。
lan = intent.getExtras().getStringArray(MainActivity.LAN_LIST);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.