Why isn't my bundle getting passed?

Posted by NickTFried on Stack Overflow See other posts from Stack Overflow or by NickTFried
Published on 2010-05-11T16:59:04Z Indexed on 2010/05/11 17:04 UTC
Read the original article Hit count: 351

Filed under:
|
|

I'm trying to pass a bundle of two values from a started class to my landnav app, but according to the debug nothing is getting passed, does anyone have any ideas why?

package edu.elon.cs.mobile;

import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText;

public class PointEntry extends Activity{

private Button calc;
private EditText longi;
private EditText lati;
private double longid;
private double latd;


public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.pointentry);

    calc = (Button) findViewById(R.id.coorCalcButton);
    calc.setOnClickListener(landNavButtonListener);

    longi = (EditText) findViewById(R.id.longitudeedit);
    lati = (EditText) findViewById(R.id.latitudeedit);
}

private void startLandNav() {

    Intent intent = new Intent(this, LandNav.class);
    startActivityForResult(intent, 0);
}


private OnClickListener landNavButtonListener = new OnClickListener() {

    @Override
    public void onClick(View arg0) {
        Bundle bundle = new Bundle();
        bundle.putDouble("longKey", longid);
        bundle.putDouble("latKey", latd);
        longid = Double.parseDouble(longi.getText().toString());
        latd = Double.parseDouble(lati.getText().toString());
        startLandNav();
    }


};

}

This is the class that is suppose to take the second point

   package edu.elon.cs.mobile;

import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.google.android.maps.MyLocationOverlay;
import com.google.android.maps.Overlay;

import android.content.Context;
import android.graphics.drawable.Drawable;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.location.Location;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.EditText;
import android.widget.TextView;

public class LandNav extends MapActivity{
    private MapView map;
    private MapController mc;
    private GeoPoint myPos;
    private SensorManager sensorMgr;
    private TextView azimuthView;

    private double longitudeFinal;
    private double latitudeFinal;
    double startTime;
    double newTime;
    double elapseTime;
    private MyLocationOverlay me;
    private Drawable marker;
    private GeoPoint finalPos;
    private SitesOverlay myOverlays;

    public LandNav(){
        startTime = System.currentTimeMillis();


    }


    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.landnav);

        Bundle bundle = this.getIntent().getExtras();

        if(bundle != null){
            longitudeFinal = bundle.getDouble("longKey");
            latitudeFinal = bundle.getDouble("latKey");
        }

        azimuthView = (TextView) findViewById(R.id.azimuthView);
        map = (MapView) findViewById(R.id.map);
        mc = map.getController();

        sensorMgr = (SensorManager) getSystemService(Context.SENSOR_SERVICE);

        LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 
        Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
        int longitude = (int)(location.getLongitude() * 1E6);
        int latitude =  (int)(location.getLatitude() * 1E6);

        finalPos = new GeoPoint((int)(latitudeFinal*1E6), (int)(longitudeFinal*1E6));
        myPos = new GeoPoint(latitude, longitude);
        map.setSatellite(true);
        map.setBuiltInZoomControls(true);
        mc.setZoom(16);
        mc.setCenter(myPos);

        marker = getResources().getDrawable(R.drawable.greenmarker);
        marker.setBounds(0,0, marker.getIntrinsicWidth(), marker.getIntrinsicHeight());

        me = new MyLocationOverlay(this, map);
        myOverlays = new SitesOverlay(marker, myPos, finalPos);

        map.getOverlays().add(myOverlays);
    }

    @Override
    protected boolean isRouteDisplayed() {
        return false;
    }

    @Override
    protected void onResume() {
        super.onResume();
        sensorMgr.registerListener(sensorListener,
                sensorMgr.getDefaultSensor(Sensor.TYPE_ORIENTATION),
                SensorManager.SENSOR_DELAY_UI);

        me.enableCompass();
        me.enableMyLocation();
        //me.onLocationChanged(location)

    }

    protected void onPause(){
        super.onPause();
        me.disableCompass();
        me.disableMyLocation();
    }

    @Override
    protected void onStop() {
        super.onStop();
        sensorMgr.unregisterListener(sensorListener);
    }

    private SensorEventListener sensorListener = new SensorEventListener() {

        @Override
        public void onAccuracyChanged(Sensor arg0, int arg1) {
            // TODO Auto-generated method stub  
        }

        private boolean reset = true;

        @Override
        public void onSensorChanged(SensorEvent event) {
            newTime = System.currentTimeMillis();
            elapseTime = newTime - startTime;
            if (event.sensor.getType() == Sensor.TYPE_ORIENTATION && elapseTime > 400) {
                azimuthView.setText(Integer.toString((int) event.values[0]));
                startTime = newTime;
            }
        }   
    };

}

© Stack Overflow or respective owner

Related posts about android

Related posts about bundle