如何将值从getLongitude()和getLatitude()转换为EditText可以接受的格式?
如果我像这样将它们放入吐司,它会起作用
String message = "Current Location \nLongitude: "+location.getLongitude()+"\nLatitude: "+location.getLatitude();
Toast.makeText(getApplicationContext(), message, Toast.LENGTH_LONG).show();
但是,如果我像这样将它们放入EditText,应用程序将停止运行并出错
tv_obj_long.setText(location.getLongitude());
tv_obj_lat.setText(location.getLatitude());
我认为格式是错误的,我正在尝试使用Double.toString(),但仍然出错
如何解决这个问题?
谢谢
这是我在按钮上的代码
btn_obj_useKor.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
showCurrentLocation();
}
});
这是按钮调用的功能
public void showCurrentLocation() {
Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if (location != null) {
showToastStatus(location);
tv_obj_long.setText(String.valueOf(location.getLongitude()));
tv_obj_lat.setText(String.valueOf(location.getLatitude()));
}else{
Toast.makeText(getApplicationContext(), "Terjadi Kesalahan dalam pengambilan koordinat", Toast.LENGTH_LONG).show();
}
};
这是可行的吐司
public void showToastStatus(Location location){
String message = "Current Location \nLongitude: "+location.getLongitude()+"\nLatitude: "+location.getLatitude();
Toast.makeText(getApplicationContext(), message, Toast.LENGTH_LONG).show();
}
这是我的xml
<TextView
android:text="Longitude"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<EditText
android:id="@+id/tv_obj_long"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<TextView
android:text="Latitude"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<EditText
android:id="@+id/tv_obj_lat"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
帮帮我-_-
最佳答案
getLongitude和getLatitude返回双精度。为了将双精度格式转换为字符串,您可以使用类似这样的东西。
String message = String.format("latitude = %f longitude = %f",location.getLatitude(), location.getLongitude());