我正在使用谷歌地图在android studio中。我已经在地图上创建标记并向标记添加自定义信息窗口。当我点击标记时,我想将标记的片段(当前是一个字符串可以说“01345485645”)存储到一个长变量中。这个整数然后用于在点击按钮时发出呼叫或发送消息。如何将字符串转换为整数类型android
这里是标记点击事件的代码:当我点击按钮,拨打电话或存储在长PHONE_NUMBER的唯一价值似乎是00
发送消息private long phone_number;
@Override
public View getInfoContents(Marker marker) {
View v = getLayoutInflater().inflate(R.layout.custom_info_window, null);
TextView tv_name = (TextView) v.findViewById(R.id.tv_name);
tv_name.setText(marker.getTitle());
try {
phone_number = Integer.parseInt(marker.getSnippet().toString());
} catch(NumberFormatException nfe) {
System.out.println("Could not parse " + nfe);
}
return v;
}
});
代码工作,除了罚款
Intent smsIntent = new Intent(Intent.ACTION_SENDTO, Uri.parse("sms:"+phone_number));
有什么建议吗?
编辑:
我用
long phone_number = Long.valueOf(marker.getSnippet().toString()).longValue();
你检查你是从 “marker.getSnippet” 得到什么价值? – Umair
你可以发布你的onclick代码片段 – MadScientist
而不是解析它也许你可以使用'TextUtils.isDigitsOnly()' 或者如果你想要更严格的检查, ://github.com/googlei18n/libphonenumber – chronogenre