如何检查EditText在Android / Java中是否具有值

时间:2010-08-04 13:25:06

标签: java android

这应该很简单,但我已经尝试过if语句检查空值以及检查它的.length的语句:

EditText marketValLow = (EditText) findViewById(R.id.marketValLow);
EditText marketValHigh = (EditText) findViewById(R.id.marketValHigh);
if (marketValLow.getText().length() != 0 && marketValHigh.getText().length() != 0) {
    Intent intent = new Intent();
    intent.setClass(v.getContext(), CurrentlyOwe.class);
    startActivity(intent);
} else {
    Toast.makeText(CurrentMarketValue.this, "You need to enter a high AND low.", Toast.LENGTH_SHORT);
}

但它没有检测到输入的内容。有什么想法吗?

7 个答案:

答案 0 :(得分:39)

请将字符串值与==进行比较,而不是equals()

String yourString = ;
if (marketValHigh.getText().toString().equals(""))
{
    // This should work!
}

答案 1 :(得分:9)

这将检查编辑文本是否为空:

if (marketValLow.getText().toString().trim().equals(""))
{
}

答案 2 :(得分:2)

而你可以检查的是:

String text = mSearchText.getText().toString();

if (!TextUtils.isEmpty( mSearchText.getText().trim())) {
    // your code
}

答案 3 :(得分:0)

也许是这样的?

String value = editText.getText().toString();
if (value == "")
{
    // your code here
}

答案 4 :(得分:0)

如果它停止前进到下一个活动但没有显示吐司,那么你的else语句肯定有问题。您是否阅读过关于Toast通知的开发指南文章?它位于用户界面 - >通知用户 - >创建Toast通知。

答案 5 :(得分:0)

验证有点单调乏味。也许我可以用更通用的方式帮助你。我已经为validate fields in Android编写了一个基本框架。

完全免费,你可以用它做任何你想做的事。

答案 6 :(得分:0)

在类中编写一个简单的函数:

    public static boolean isEditTextEmpty( EditText et){
      String s = et.getText().toString();
      return s.equals("");  // really empty.          
   }

    public static boolean isEditTextInvisible( EditText et){
      String s = et.getText().toString();
      return s.trim().equals("");  // might have only spaces...           
   }

或......以积极的逻辑:

    public static boolean hasContentEditText( EditText et){
      String s = et.getText().toString();
      return s != null; // spaces will count.             
   }