【问题标题】:Android cannot find string if its null如果字符串为空,Android 无法找到字符串
【发布时间】:2013-03-12 07:49:30
【问题描述】:

我想使用 android 意图发送电子邮件。除了选择电子邮件应用程序来发送电子邮件时,一切都运行良好,在发送到字段中获取空值,虽然我检查空值但似乎我无法检测到字符串何时为空。谁能帮我解决这个问题。

if (emailAddress[0]!=null && !emailAddress[0].isEmpty()) {
                Intent intent = new Intent(Intent.ACTION_SEND);
                intent.setType("text/plain");
                intent.putExtra(Intent.EXTRA_EMAIL, emailAddress);
                intent.putExtra(Intent.EXTRA_SUBJECT,
                        getResources().getString(R.string.email_sub));
                // intent.putExtra(Intent.EXTRA_TEXT, "I'm email body.");

                startActivity(Intent.createChooser(intent, "Send Email"));

【问题讨论】:

  • 我不认为!emailAddress[0].isEmpty() 是必要的......不过我可能是错的......
  • 使用这个 .. public static boolean isNotNullNotEmptyNotWhiteSpaceOnlyByJava( final String string) { return string != null && !string.isEmpty() && !string.trim().isEmpty(); }

标签: java android string email null


【解决方案1】:

使用 equals()equalsingorecase();

检查字符串
String[]  emailAddress = new String[10]; 

          emailAddress[0]="asdfasdfasdfasdf";

          if (emailAddress[0]!=null && !emailAddress[0].isEmpty())
          {
              System.err.println("asddddddd  " +emailAddress[0] );
          }

【讨论】:

【解决方案2】:

尝试使用这种语法来检测 null 和空字符串

if(!TextUtils.isEmpty(emailAddress[0]))

【讨论】:

    【解决方案3】:

    您可以使用TextUtils.isEmpty(CharSequence str)方法来检测String是空还是null

    【讨论】:

      【解决方案4】:

      TextUtils.isEmpty(charSequence char) 用于 null 字符串,如果它不起作用然后检查 if(emailAddress != null) 因为 emailAddress[0] 位置值为 null 那么您的数组也为 null。

      【讨论】:

        【解决方案5】:

        它可能会帮助你..

        您可以使用以下 2 中的任何一种

        if (emailAddress[0].toString().equals(""))
        

        if (emailAddress[0].toString().length() > 0)
        

        【讨论】:

        • .toString() 是造成所有问题的部分......谢谢
        【解决方案6】:

        字符串不能为空。 AFAIK Intent.EXTRA_EMAIL 将字符串数组作为第二个参数。

        试试这个。

        String[] addressArray = {"add1@mail.com", "a2@mail.com"};
        
        //some lines...
        
        intent.putExtra(Intent.EXTRA_EMAIL, addressArray);
        

        【讨论】:

        • OP 将String[] 作为第二个参数传递。
        • @jprofit 我的错。我想我希望看到 emailAddresses 或 emailAdressArray
        猜你喜欢
        • 2018-01-05
        • 1970-01-01
        • 1970-01-01
        • 2020-10-03
        • 1970-01-01
        • 2011-11-04
        • 2014-11-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多