В течение последних двух дней я пытался напечатать свой длинный и длинные координаты, я нарезал и изменил код, чтобы он заработал, сейчас немного путаница и не понимаю, почему он не будет работаю, я новичок в Android Development, пока изучаю книгу (Beginning Android Development), но она не затрагивает эту тему, любая помощь будет принята с благодарностью.
Он компилируется, и я не получаю никаких ошибок, однако он не печатает в поля EditText в приложении, определенные в main.xml.
Вот мой код для файла Java:
package com.emergency;
import android.app.Activity;
import android.location.Location;
import android.location.LocationListener;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import android.content.Context;
import android.location.LocationManager;
import android.location.Criteria;
public class EmergencyLocation extends Activity implements LocationListener {
private TextView latitudeField;
private TextView longitudeField;
private LocationManager locationManager;
private String provider;
/** Called when the activity is first created. **/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
latitudeField = (TextView) findViewById(R.id.long_lat1);
longitudeField = (TextView) findViewById(R.id.long_lat2);
// Get the location manager
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
// Define the criteria how to select the location provider -> use
// default
Criteria criteria = new Criteria();
provider = locationManager.getBestProvider(criteria, false);
locationManager.requestLocationUpdates(provider, 0, 0, this);
Location location = locationManager.getLastKnownLocation(provider);
onLocationChanged(location);
}
@Override
protected void onDestroy() {
super.onDestroy();
locationManager.removeUpdates(this);
}
@Override
public void onLocationChanged(Location location) {
if (location != null) {
System.out.println("Provider " + provider + " has been selected.");
int lat = (int) (location.getLatitude());
int lng = (int) (location.getLongitude());
latitudeField.setText(String.valueOf(lat));
longitudeField.setText(String.valueOf(lng));
/*Toast.makeText(EmergencyLocation.this,
"Longitude " + longitudeField + "Latitude " + latitudeField, Toast.LENGTH_LONG).show();*/
//getting longitude to display in an EditText box
/*EditText lngtude = (EditText) findViewById(R.id.longitudeField);
lngtude.setText(String.valueOf(lng));
EditText lattude = (EditText) findViewById(R.id.latitudeField);
lattude.setText(String.valueOf(lat)); */
EditText lngtude = (EditText) findViewById(R.id.longitudeField);
lngtude.setText(String.valueOf(lng), TextView.BufferType.EDITABLE);
EditText lattude = (EditText) findViewById(R.id.latitudeField);
lattude.setText(String.valueOf(lat), TextView.BufferType.EDITABLE);
} else {
latitudeField.setText("Provider not available");
longitudeField.setText("Provider not available");
}
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onStatusChanged(String provider, int status,
Bundle extras) {
// TODO Auto-generated method stub
}
/* @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button simpleBtn = (Button) findViewById(R.id.location);
simpleBtn.setOnClickListener(new View.OnClickListener() {*/
}
;