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