public void onSearch() {
EditText textEntered = (EditText) findViewById(R.id.search_userInput);
String search_LocationText = textEntered.getText().toString();
List<Address>addresslist=null;
Geocoder geocoder =new Geocoder(this);
try {
addresslist=geocoder
.getFromLocationName(search_LocationText, 1);
} catch (IOException e) {
e.printStackTrace();
}
大家好,这是Android Studio中我的地图应用程序代码的一部分,当我运行该应用程序时,如果我输入了错误的条目(例如@@@或数字),它就会崩溃。如果我输入错误的条目时应用程序不会崩溃,可以请您帮忙吗?谢谢
答案 0 :(得分:0)
关于错误实际上是什么,您的问题尚不清楚,但是看着docs,我认为可以使用以下方法解决该问题:
IllegalArgumentException
geocoder.isPresent()
,然后再致电geocoder.getFromLocationName()
isPresent()
的文档:
如果Geocoder的getFromLocation方法和 getFromLocationName已实现。缺乏网络连接可能 仍然会导致这些方法返回空列表或空列表。
答案 1 :(得分:0)
在EditText上应用filter(InputFilter)使用字母的正则表达式
在xml中应用edittext的以下属性
android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"