由于输入错误而清除编辑文本

时间:2018-10-20 15:17:33

标签: java android

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中我的地图应用程序代码的一部分,当我运行该应用程序时,如果我输入了错误的条目(例如@@@或数字),它就会崩溃。如果我输入错误的条目时应用程序不会崩溃,可以请您帮忙吗?谢谢

2 个答案:

答案 0 :(得分:0)

关于错误实际上是什么,您的问题尚不清楚,但是看着docs,我认为可以使用以下方法解决该问题:

  • 您还需要抓住IllegalArgumentException
  • 您需要先致电geocoder.isPresent(),然后再致电geocoder.getFromLocationName()

isPresent()的文档:

  

如果Geocoder的getFromLocation方法和   getFromLocationName已实现。缺乏网络连接可能   仍然会导致这些方法返回空列表或空列表。

答案 1 :(得分:0)

在EditText上应用filter(InputFilter)使用字母的正则表达式

在xml中应用edittext的以下属性

android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"