在 Android EditText 中验证位置坐标
Validate Location Coordinates in Android EditText
我想通过EditText获取用户的位置坐标,我决定将输入类型设置为十进制,但位置坐标带有减号(-),为此,我想验证坐标,如何才能我这样做了,谢谢
String lati=edlat.getText().toString().trim();
String longi=edlng.getText().toString().trim();
if(isNumber(lati)&&isNumber(longi)&&isValidLatLng(Double.valueOf(lati),Double.valueOf(longi)))
{
// your logic
}
public boolean isValidLatLng(double lat, double lng){
if(lat < -90 || lat > 90)
{
Toast.makeText(this, "Wrong Latitude", Toast.LENGTH_SHORT).show();
return false;
}
else if(lng < -180 || lng > 180)
{
Toast.makeText(this, "Wrong Longitude", Toast.LENGTH_SHORT).show();
return false;
}
return true;
}
public boolean isNumber(String str) {
try {
double v = Double.parseDouble(str);
return true;
} catch (NumberFormatException nfe) {
Toast.makeText(ShopDetails.this, ""+nfe.getMessage(), Toast.LENGTH_SHORT).show();
}
return false;
}
我想通过EditText获取用户的位置坐标,我决定将输入类型设置为十进制,但位置坐标带有减号(-),为此,我想验证坐标,如何才能我这样做了,谢谢
String lati=edlat.getText().toString().trim();
String longi=edlng.getText().toString().trim();
if(isNumber(lati)&&isNumber(longi)&&isValidLatLng(Double.valueOf(lati),Double.valueOf(longi)))
{
// your logic
}
public boolean isValidLatLng(double lat, double lng){
if(lat < -90 || lat > 90)
{
Toast.makeText(this, "Wrong Latitude", Toast.LENGTH_SHORT).show();
return false;
}
else if(lng < -180 || lng > 180)
{
Toast.makeText(this, "Wrong Longitude", Toast.LENGTH_SHORT).show();
return false;
}
return true;
}
public boolean isNumber(String str) {
try {
double v = Double.parseDouble(str);
return true;
} catch (NumberFormatException nfe) {
Toast.makeText(ShopDetails.this, ""+nfe.getMessage(), Toast.LENGTH_SHORT).show();
}
return false;
}