我很抱歉我的简单问题,但我是这个话题的新手。我有适用于 Android 的位置类,我使用 Toast 消息到达我的位置,但我无法达到我的位置值其他类。例如;
我的位置类
import android.app.AlertDialog;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.Toast;
public class MyLocation{
private LocationManager locationManager;
LocationListener locationListener;
private Context ourContext;
public MyLocation(Context context){
this.ourContext = context;
locationManager = (LocationManager) context.getSystemService(context.LOCATION_SERVICE);
locationListener = new MyLocationListener();
boolean gps = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
if(!gps){
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 6000, 100, locationListener);
AlertDialog alertDialog = new AlertDialog.Builder(context).create();
alertDialog.setTitle("GPS Disabled");
alertDialog.setMessage("You can enable GPS for settings");
alertDialog.setIcon(R.drawable.ic_launcher);
alertDialog.show();
} else {
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 6000, 100, locationListener);
}
}
public class MyLocationListener implements LocationListener{
@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
Bundle bundle = new Bundle();
lat = location.getLatitude();
lon = location.getLongitude();
Toast.makeText(ourContext, lat +" ve "+ lon, Toast.LENGTH_LONG).show();
bundle.putString("lat", lat.toString());
bundle.putString("lon", lon.toString());
}
@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
}
public String getLat(){
return lat.toString();
}
public String getLon(){
return lon.toString();
}
private Double lat;
private Double lon;
}
我打电话给
MyLocation myLocation = new MyLocation(getActivity());
Runnable runnable = new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
while(bundle.getString("lon") != null){
tv1.setText("Lon : " + bundle.getString("lon"));
tv2.setText("Lat : " + bundle.getString("lat"));
}
}
};
new Thread(runnable).start();
但是每次我的捆绑包返回空值。我能做些什么 ?