在谷歌地图标记(Android)中添加链接
我目前正在我的项目中实现一个映射。地图用标记显示用户周围的某些地方 标记应提供(除其他外)指向该地点网站的链接,单击该链接可打开该网站 显然,URL格式的字符串不会自动转换为链接。我试图通过使用自定义InfoWindow来解决这个问题,但OnClickListener不会触发 以下是InfoWindowAdapter构造函数的代码:在谷歌地图标记(Android)中添加链接,android,google-maps,url,onclicklistener,Android,Google Maps,Url,Onclicklistener,我目前正在我的项目中实现一个映射。地图用标记显示用户周围的某些地方 标记应提供(除其他外)指向该地点网站的链接,单击该链接可打开该网站 显然,URL格式的字符串不会自动转换为链接。我试图通过使用自定义InfoWindow来解决这个问题,但OnClickListener不会触发 以下是InfoWindowAdapter构造函数的代码: MyInfoWindowAdapter(final Context context) { this.context = context; v =
MyInfoWindowAdapter(final Context context) {
this.context = context;
v = LayoutInflater.from(context).inflate(R.layout.info_window,
null);
final TextView tvWebsite = (TextView) v.findViewById(R.id.tvMapWebsite);
tvWebsite.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(tvWebsite.getText().toString()));
context.startActivity(browserIntent);
Log.d("MAP CLICK", "Clicked ");
}
});
编辑:前面的答案是错误的,问题的解决方案可以在:,如评论中所示首先,谢谢:)我已经阅读了其他问题和解决方案。该链接现在显示为链接(蓝色+下划线),但不可单击。顺便说一句,我使用的是完整地址,不是“点击这里”之类的。但是,它不会对单击做出反应。
setMovementMethod
和android:linksClickable
都没有帮助。可能是标记物阻止了吗?嗯,好的。试试这个解决方案,它似乎与你的问题更相关:所以,我基本上是像你的第二个解决方案那样做的。但是,这会导致整个InfoWindow触发事件。如果我只有网站链接就可以了,但我也有电话号码。我的OnClick创建一个对话框,用户必须在其中选择操作。这可能不是最理想的解决方案,但至少是有效的。再次感谢:“JuliCangron”,因为这个答案是基于一个评论被接受的,并且当前答案中的内容是错误的,考虑编辑你的答案包含正确的解决方案。