繁体   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