我在我的應用中使用Google Maps V2,當我改變方向爲風景(或基本上改變方向)時,onMapClick方法不響應,甚至不響應東方之後又改變了。我知道我可以通過設置configChange:orientation | screenSize來避免這個怪異的bug,但是當orientaiton改變時,我的對話佈局不會將其佈局從佈局肖像更改爲佈局風景。 這一切都在一個活動。有沒有人遇到過這個問題?地圖有什麼問題?我不明白問題在哪裏,爲什麼聽衆應該註銷。 我在onCreateMethod中註冊它: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);谷歌地圖v2 - onclick偵聽器在方向改變後沒有響應
DisplayMetrics dm = getResources().getDisplayMetrics();
screenWidth = dm.widthPixels;
screenHeight = dm.heightPixels;
FontUtils.setCustomFont(this, (ViewGroup) getWindow().getDecorView());
RelativeLayout topBar = (RelativeLayout) findViewById(R.id.topBar);
LinearLayout placeTextLayout = (LinearLayout)topBar
.findViewById(R.id.placeTextLayout);
placeTextView = (TextView) placeTextLayout.findViewById(R.id.placeText);
sharedPrefs = getSharedPreferences
(SkyConstants.PREFS_NAME,Context.MODE_PRIVATE);
String place = sharedPrefs.getString
(SkyConstants.PREF_LOCATION_ID,SkyConstants.PREF_LOCATION_DEFAULT);
dateTextView = (TextView) topBar.findViewById(R.id.dateText);
daysTextView = (TextView) topBar.findViewById(R.id.timeText);
updateTopBar();
setUpMapIfNeeded();
}
private void setUpMapIfNeeded()
{
if (mMap == null)
{
mMap = ((SupportMapFragment)getSupportFragmentManager()
.findFragmentById(R.id.map)).getMap();
}
if (mMap != null)
{
mMap.getUiSettings().setZoomControlsEnabled(true);
mMap.getUiSettings().setZoomGesturesEnabled(true);
mMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
mMap.setOnMapClickListener(new OnMapClickListener()
{
@Override
public void onMapClick(LatLng point)
{
//do something
}
});
}
}
我在onCreate方法中設置了onMap click監聽器,每當我改變方向時我都可以清楚地看到設置監聽器的方法。但聽衆不知怎麼的..我點擊並點擊,沒有任何反應。如果我改變方向回到肖像,聽衆仍然失去...... – vandus 2013-03-21 18:11:20