通过意图传递选择性数据

时间:2019-05-22 13:25:40

标签: java android

我正在制作一个包含4个字段的基本联系人应用程序;名称,号码,网站和位置。

现在,在输入时,检查并提示用户键入,以防他们离开并编号为空。

但是我希望网站和位置是可选的。 数据存在时;我希望它继续下去,但是当它不存在时,我什么也不做。

这是我的代码。

if(etName.getText().toString().isEmpty() || etNumber.getText().toString().isEmpty())
{
    Toast.makeText(this, "Please fill out the necessary fields", Toast.LENGTH_SHORT).show();
}
else
{
    Intent intent = new Intent();
    intent.putExtra("name", etName.getText().toString());
    intent.putExtra("number", etNumber.getText().toString().trim());

    if(etWeb.getText().toString().trim() != null)
    {
        intent.putExtra("web", etNumber.getText().toString().trim());
    }
    if(etLocation.getText().toString() != null)
    {
        intent.putExtra("location", etLocation.getText().toString().trim());
    }

问题是代码表明条件etWeb.getText().toString().trim() != nulletLocation.getText().toString().trim() != null始终为True

我应该进行哪些更改?

3 个答案:

答案 0 :(得分:1)

您应该检查isEmpty()而不是null。

答案 1 :(得分:1)

您可以检查字符串不为空而不是不为空

if(!android.text.TextUtils.isEmpty(etWeb.getText().toString().trim())){
 intent.putExtra("web", etWeb.getText().toString().trim());
}

或可以检查

 if(etWeb.getText().toString().trim().length() > 0){
     intent.putExtra("web", etWeb.getText().toString().trim());
  }

答案 2 :(得分:1)

您可以尝试下面的代码来检查天气数据是否可用。

if(!etWeb.getText().toString().equals(""))
{
    intent.putExtra("web", etNumber.getText().toString().trim());
}

以上代码将检查字段中是否存在数据。