Je voudrais afficher la latitude et la longitude dans tvLatitude
et tvLongitude
(qui sont les deux TextView
) en cliquant sur un bouton. Cela ne fonctionne pas avec le code que j'ai actuellement, que vous pouvez voir ci-dessous. Le problème est que lorsque le contrôle atteint la chaîne latitude = Double.toString(loc.getLatitude());
le programme s'arrête malheureusement. Quelqu'un peut-il me dire pourquoi loc.getLatitude
et loc.getLongitude
ne répondent pas?onLocationChanged() jamais appelé dans Android
package mk.bukhari.loctrack;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import android.os.Build;
public class MainActivity extends ActionBarActivity implements LocationListener {
TextView tvLat, tvLon;
Button btnLoc;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
tvLat = (TextView) findViewById(R.id.tvLatitude);
tvLon = (TextView) findViewById(R.id.tvLongitude);
btnLoc = (Button) findViewById(R.id.btnLocation);
final LocationManager locman = (LocationManager)
getSystemService(LOCATION_SERVICE);
locman.requestLocationUpdates("gps", 0, 0, this);
btnLoc.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.d("LocTrack", "Button Clicked");
Location loc = locman.getLastKnownLocation("gps");
onLocationChanged(loc);
}
});
}
}
}
@Override
public void onLocationChanged(Location loc) {
Log.d("LocTrack", "Entering onLacationChanged");
String latitude = Double.toString(loc.getLatitude());
String longitude = Double.toString(loc.getLongitude());
Log.d("LocTrack", "Setting txt in tv");
tvLat.setText(latitude);
tvLon.setText(longitude);
}
@Override
public void onProviderDisabled(String arg0) {}
@Override
public void onProviderEnabled(String arg0) {}
@Override
public void onStatusChanged(String arg0, int arg1, Bundle arg2) {}
}
jusqu'à Log.d ("LocTrack", "Saisie OnLocationChanged"); ce programme de ligne s'exécute comme prévu, Entrer onLocationChanged est affiché dans logcat mais l'application s'arrête à côté de lui et affiche une boîte de dialogue disant "malheureusement LocTrak s'est arrêté" –
Pouvez-vous poster votre logcat? Donc, nous pouvons savoir quel est le problème –
Désolé l'image de bro ne télécharge pas me guider comment je fournis cette image –