我正在创建非常简单的应用程序并尝试学习 android。
在这个应用程序中,我创建了一个包含地图的活动,它还具有选项菜单,单击选项菜单项会打开另一个活动并关闭当前地图,这是代码。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Intent intent = new Intent();
if (item.getItemId() == R.id.LegalNotice) {
intent.setClass(Map.this, LegalNotices.class);
} else if (item.getItemId() == R.id.ChangeDistance) {
intent.setClass(Map.this, ChangeDefaultDistance.class);
}
startActivity(intent);
this.finish();
return true;
}
现在这里 ChangeDefaultDistance 是仅包含列表视图的活动。现在,当从列表视图中选择特定项目时,我再次启动 Map 活动。这是代码。
@Override
public void onItemClick(AdapterView<?> arg0, View view,
int position, long id) {
TextView tv;
tv = (TextView) view;
Map.distance = tv.getText().toString();
startActivity(new Intent(ChangeDefaultDistance.this, Map.class));
}
现在,当地图再次启动时,它执行 onCreate() 方法,但之前在 onCreate 方法中,我将地图缩放到特定位置并绘制了标记,现在它没有缩放,也没有绘制标记。当我调试代码时,我发现它正在执行代码但是什么都没有发生。
谁能告诉我为什么会这样?
这里也是 onCreate 方法的代码。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (isGooglePlayAvailable()) {
criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
// Getting the service from context and giving to location_manager
location_manager = (LocationManager) getSystemService(LOCATION_SERVICE);
setContentView(R.layout.mapdemo);
placesTask = new PlacesTask();
getGoogleMap();
getUserLocation();
google_map.clear();
Toast.makeText(Map.this, "Hello Sexy!!!", Toast.LENGTH_LONG).show();
Toast.makeText(this, "Latitude:" + lat + " Longitude:" + lang,
Toast.LENGTH_LONG).show();
drawMarker();
// If Distance is not choosed default distance is given
if (distance.equals("")) {
distance = "1000";
}
sb = createUrl();
placesTask.execute(sb);
}
}
所有功能都正常工作。
但它没有再次缩放并绘制标记可能是什么问题?