我在适配器中有这个onClick方法
@Override
public void onClick(final View view) {
// Clicked postion
AsyncTask.execute(new Runnable() {
@Override
public void run() {
int position = getAdapterPosition();
PlaceSaved place = items.get(position);
// Here is the data Do your stuff
Snackbar.make(view, "Position is:"+place.getTitle()+","+place.getLongi(), Snackbar.LENGTH_LONG).show();
latlang.Lat = Double.parseDouble(place.getTitle());
latlang.Lang = Double.parseDouble(place.getLongi());
lStatus.LOCATION_STATUS_UPDATE = 1;
Intent i = new Intent(view.getContext(), MainActivity.class);
view.getContext().startActivity(i);
SecondFragment sf = new SecondFragment();
sf.showMap();
}
});
}
showMap方法定义为:
public void showMap(){
Log.e("ShowMap", "is called");
if (marker != null) {
marker.remove();
mMap.clear();
}
if (mMap != null) {
updateLocationUI();
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(
new LatLng(latlang.Lat, latlang.Lang), DEFAULT_ZOOM));
marker = mMap.addMarker(new MarkerOptions()
.position(new LatLng(latlang.Lat, latlang.Lang))
.anchor(0.5f, 0.5f)
.icon(BitmapDescriptorFactory.fromResource(R.drawable.location_icon))
);
}
new SunFragment();
}
使用onclick,正确调用showMap以及sunFragment
方法。
但这对mMap相关方法没有影响,例如moveCamera和marker。
他们仍处于相同的位置。
如何移动相机?更重要的是,为什么它根本不动?