2012-03-18 7 views
0

現在、私のアプリには、をonCreate関数で作成するマップビューがあります。ボタンを押してMapViewに位置オーバーレイを作成する

locationOverlay = new MyLocationOverlay(this, map); 
locationOverlay.runOnFirstFix(centerAroundFix); 
map.getOverlays().add(locationOverlay); 

私はずっとGoogleマップのように、このオプションではないボタンを作成しようとしています。これは私がこれまで持っていたものです。

ImageButton locButton = (ImageButton)findViewById(R.id.googlemaps_select_location); 

locButton.setOnClickListener(new OnClickListener() { 
    public void onClick(View v) { 
     locationOverlay = new MyLocationOverlay(ctx, map); 
     locationOverlay.runOnFirstFix(centerAroundFix); 
     map.getOverlays().add(locationOverlay); 
    } 
}); 

変更する必要があったのは、「this」から「ctx」まででした。私はonCreate()機能にctx = thisを設定しました。また、私はonClick()機能に分割し、それをステップ実行することができ、デバッガを使用する代わりに、ctx

getApplicationContext()を使用してみました。実行した後、私はエミュレータにtelnetし、geo fixコマンドを使ってエミュレータへの修正を出します。残念ながら、centerAroundFix()は決して呼び出されません。私は間違っている、ここに...

答えて

0

をやっているかわから私はonCreate()関数に locationOverlay = new MyLocationOverlay(ctx, map) を移動することで、これを解決しません。

おそらくlocationOverlayonClick()の内部にある場合はガベージコレクションが行われますか?

関連する問題