如果是null,Android无法找到字符串

时间:2013-03-22 12:42:36

标签: java android string email null

我想使用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"));

6 个答案:

答案 0 :(得分:2)

使用等于() equalsingorecase();

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

          emailAddress[0]="asdfasdfasdfasdf";

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

答案 1 :(得分:2)

尝试使用此语法检测null和空字符串

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

TextUtils.isEmpty(charSequence char)用于null String如果它不起作用,则检查if(emailAddress!= null),因为emailAddress [0]位置值为null,那么你的数组也是null。

答案 4 :(得分:0)

它可能对你有所帮助..

你可以使用2以下的任何一个

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

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

答案 5 :(得分:0)

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

试试这个。

String[] addressArray = {"add1@mail.com", "a2@mail.com"};

//some lines...

intent.putExtra(Intent.EXTRA_EMAIL, addressArray);