簡體   English   中英

getStringArrayExtra()始終返回null

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM