0

バックグラウンドで実行されているサービスからの現在の値で更新するいくつかのTextViewを使用したアクティビティがあります。TextViewsのみを更新すれば、問題なく動作します。サービスからアクティビティまで現在のLATとLONGも取得しています。これは、バックグラウンドで走行距離を記録しているためです。

次に、自分の値の下に小さな地図を表示して、自分がどこにいるかを確認できるようにします。しかし、マップを追加すると、マップが開始されるまで、TextViewsは1回だけ更新されると思います。マップのみが更新されていますが、TextViewsは更新されていません。

私が間違っていることは何ですか?

私の活動における私のサービスバインダー:

// Bind to LocalService
    Intent intent = new Intent(Dashboard.this, GPSService.class);
    bindService(intent, mConnection, Context.BIND_AUTO_CREATE);
    mHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            try{
                if (mService.StartadressFlag==1){
                    doUpdate(); //This updates the TextViews with values from service
                    callMap(); //This calls the map with LAT and LONG from service
                }
                mHandler.sendEmptyMessageDelayed(MSG_UPDATE, UPDATE_RATE_IN_MS);
            }
            catch(final Exception ex){
                //damn
                Log.e("Dashboard", "Error in activity", ex);  // log the error
            }

        }
    };
    MapView mapView = (MapView) findViewById(R.id.mapview);
    mapView.setBuiltInZoomControls(true);
    mapView = (MapView) findViewById(R.id.mapview);
    // enable Street view by default
    mapView.setStreetView(true);      
    // enable to show Satellite view
    // mapView.setSatellite(true);
    // enable to show Traffic on map
    // mapView.setTraffic(true);
    mapView.setBuiltInZoomControls(true);     
    mapController = mapView.getController();
    mapController.setZoom(16);

私が間違っていることは何ですか?

4

1 に答える 1

0

OK, figured it out by myself. I have added a own GPS-Listener in my activity for the map. So I do not need to get the LAT and LONG in the binder for the map. Then everything is working fine.

于 2012-09-10T19:33:35.660 に答える