如果Edittext没有输入文本,则提示吐司

时间:2016-02-25 04:05:43

标签: java android toast

我在我的项目中找到并实现了一个函数,用户可以在EditText字段中输入一个地址并按下“SHOW ON MAP”按钮,它将传递用户输入的文本并将该地址传递给谷歌地图。

如下所示:

enter image description here

然而,有一个小问题,即使用户没有在我的应用程序“EditText字段中输入任何内容,它仍会将用户引导至Google地图(但搜索栏中没有任何内容)。

如何更改代码,以便在EditText字段中没有文字且用户点击“在地图上显示”时,我的应用会提示“请输入地址”?

我一直在搞乱,似乎无法让它发挥作用。

以下是我的代码:

{{1}}

6 个答案:

答案 0 :(得分:1)

尝试添加

if (textToUse.length() == 0) {
    Toast.makeText(this, "Please Enter Address", Toast.LENGTH_SHORT).show();
    return;
}
try / catch阻止之前

,就像这样。

...
textToUse = companyAddress.getText().toString();
textToUse = textToUse.replace(' ', '+');
// begin inserted code
if (textToUse.length() == 0) {
    Toast.makeText(this, "Please Enter Address", Toast.LENGTH_SHORT).show();
    return;
}
// end inserted code
try {
    Intent geoIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:0,0?q=" + textToUse));
    startActivity(geoIntent);
} catch (Exception e){
    Toast.makeText(this, getString(R.string.maps_error), Toast.LENGTH_SHORT).show();
}
...

答案 1 :(得分:0)

尝试用this

替换getActivity()
Toast.makeText(this, getString(R.string.maps_error), Toast.LENGTH_SHORT).show();

答案 2 :(得分:0)

检查textToUse变量的长度。如果长度为0或更小,然后是某个因子,那么您可以使用Toast并通过进入意图块返回。 或者,您可以在编辑文本中添加onTextChangedListener,如果文本长度低于某个因子,则禁用该按钮。

答案 3 :(得分:0)

在开始活动之前将以下条件置于您的代码

        textToUse = companyAddress.getText().toString();
        textToUse = textToUse.replace(' ', '+');
        if (textToUse.trim().equals("") && textToUse.trim().equals("+")) {
            Toast.makeText(this, getString(R.string.maps_error), Toast.LENGTH_SHORT).show();
        } else {
            try {
                Intent geoIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:0,0?q=" + textToUse));
                startActivity(geoIntent);
            } catch (Exception e) {
                Toast.makeText(this, getString(R.string.maps_error), Toast.LENGTH_SHORT).show();
            }
        }

答案 4 :(得分:0)

您应该始终检查您的搜索框是否包含任何文字。

if (companyAddress.getText().length() > 0) {

            textToUse = companyAddress.getText().toString();

            textToUse = textToUse.replace(' ', '+');

            try {
                Intent geoIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:0,0?q=" + textToUse));
                startActivity(geoIntent);
            } catch (Exception e) {
                // Handle error
            }
        } else {
            Toast toast = Toast.makeText(context, "Enter Text in Search Field", Toast.LENGTH_SHORT).show();
        }

答案 5 :(得分:0)

尝试使用像这样的isEmpty()

EditText myedittext = (EditText) findViewById(R.id.youredittext);
    String edit = myedittext .getText().toString();

                if(edit.isEmpty()){
                           Toast.makeText(youractivity.this, "please enter adress" , Toast.LENGTH_SHORT).show();
                          }else{
                                     // what you want like search the map
                                    }