java - Android检查多个字符串是否不为空

标签 java android android-studio

我有一个表单,我将表单数据放入一个 Intent 中,然后开始一个新的 Activity 并发送带有 Intent 的数据,但我想检查字符串是否为空我应该显示和错误消息。如果字符串不为空,则可以启动 Activity 。

我试过下面的代码,但它似乎不起作用。如果该字段为空,它只会启动其他 Activity (我现在只尝试了 1 个字段,因为我不知道如何对多个字段进行操作)

    //getting the field values
    String firstname = editTextFirstname.getText().toString();
    String lastname = editTextLastname.getText().toString();
    String amount = editTextBedrag.getText().toString();
    String timespan = spinnerPeriode.getSelectedItem().toString();
    String iban = editTextIBAN.getText().toString();

    if(firstname != null) {
        //putting data in the intent
        intent.putExtra(FIRSTNAME, firstname);
        intent.putExtra(LASTNAME, lastname);
        intent.putExtra(AMOUNT, amount);
        intent.putExtra(TIMESPAN, timespan);
        intent.putExtra(IBAN, iban);

        startActivity(intent);
    }else{
        Toast.makeText(MainActivity.this, "Oops, you forgot to fill in some fields!", Toast.LENGTH_SHORT).show();
    }

最佳答案

更简洁的方法是

public static boolean isAnyStringNullOrEmpty(String... strings) {
    for (String s : strings)
        if (s == null || s.isEmpty())
            return true;
    return false;
}

然后你可以这样调用它

if (isAnyStringNullOrEmpty(firstname, lastname, amount, timespan, iban)) {
    Toast.makeText(MainActivity.this, "Oops, you forgot to fill in some fields!", Toast.LENGTH_SHORT).show();
} else {

}

关于java - Android检查多个字符串是否不为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34707018/

相关文章:

java - 如何在我定义的 Java 对象中覆盖返回具有唯一实体 ID 的唯一哈希码值的哈希码方法?

java - 如何在 Java 中获取 UNC 路径(带空格)的可用磁盘空间量

android - 在另一个 ConstraintLayout 中膨胀 ConstraintLayout

Android 评分栏 - 如何预设星级

java - 无法将数据从 Activity C 通过 Activity B 移动到 Activity A

java - "PageFactory.initElements(driver, this);"如何处理WebElements列表?

java - 获取 'Exception in thread "main"java.lang.IllegalArgumentException : Unknown entity: <entityClass>'

android - 删除可扩展列表中的组

android - Android Studio 中的代码分享

android - Gradle 丢失了我的 R.java 文件