我的代码中有两个活动,第一个活动在地图上显示标记,第二个活动显示有关该标记的信息。在异步任务中,我正在搜索一些位置并将信息对象作为标记添加到其中。就像我们平时做的那样。
maker.setTag(obj);
当我点击标记时,会调用onMarkerclick()方法,并通过在标记上调用getTag()获取obj,然后启动第二个活动并显示详细信息。
到目前为止,一切都很好。但是,当我按下返回按钮并再次点击该标记时,它从marker.getTag()返回null。以下是我的onMarkerClick方法:
@Override
public boolean onMarkerClick(Marker marker) {
if (marker.getTag().toString().equals("JobSeeker")) {
// this is user current location show i dont want to do anything when marker is clicked
return false;
}
if (previousMarker != null && previousMarker.equals(marker)) {
//this code is executed if marker is clicked second time
LinkedTreeMap jobPost = (LinkedTreeMap) marker.getTag();
marker.setTag(jobPost);
Intent intent = new Intent(this, JobSearchResultActivity.class);
intent.putExtra("JobPost", jobPost);
Toast.makeText(this, "jobPostdetails" , Toast.LENGTH_SHORT).show();
startActivity(intent);
} else {
// just showing some toast that marker is selected
previousMarker = marker;
Toast.makeText(this, "selected" , Toast.LENGTH_SHORT).show();
marker.showInfoWindow();
}
return false;
}
请帮助我,我不知道哪里出错了,或者可能是一些愚蠢的错误。