Android - 根据用户输入传递自定义字符串

时间:2018-05-08 08:48:45

标签: java string

我正在创建一个Android应用程序,我在其中从edittext字段中获取用户输入,然后将这些输入作为字符串传递到自定义字符串。

我在消除用户提供的空字符串时遇到了麻烦。

以下是我的代码:

EditText siteName = findViewById(R.id.editSite); //these types are of EditText values provided by the user
            strSite = "site%3A" + siteName.getText().toString();
            if (strSite.matches("")) {
                strSite = null;
                return;
            }

            fileType = findViewById(R.id.editFile);
            strFile = "filetype%3A" + fileType.getText().toString();
            if (strFile.matches("")) {
                strFile = null;
                return;
            }

            inUrl = findViewById(R.id.editUrl);
            strUrl = "inurl%3A" + inUrl.getText().toString();
            if (strUrl.matches("")) {
                strUrl = null;
                return;
            }

            inTitle = findViewById(R.id.editTitle);
            strTitle = "intext%3A" + inTitle.getText().toString();
            if (strTitle.matches("")) {
                strTitle = null;
                return;
            }

            indexOf = findViewById(R.id.editIndex);
            strIndex = "indexof%3A" + indexOf.getText().toString();
            if (strIndex.matches("")) {
                strIndex = null;
                return;
            }

            String dork = strSite +" "+ strFile+" "+strUrl+" "+strTitle+" "+strIndex; //this is the custom string

所以这里的动机是在String dork

中将空字符串设置为空

请告诉我是否可以这样做或使用复选框很容易。

提前致谢

2 个答案:

答案 0 :(得分:0)

如果我理解正确(如果用户提供空字符串然后你想将dork设置为空)你需要这样的东西(检查用户提供的不是空字符串)

String dork = "";

if (!(siteName.getText().toString().equals("")) {

 //do rest of it
    dork = strSite +" "+ strFile+" "+strUrl+" "+strTitle+" "+strIndex;

}

注意:请检查null是否

答案 1 :(得分:0)

因此,经过一些研究,我找到了上述问题的解决方案。 这很简单,只需使用String类型的ArrayList然后将非空字符串推入其中,请在下面找到代码:

ArrayList<String> arrstr;
   arrstr = new ArrayList<String>();
   if(!(strSite.equals("site%3A"))){
      arrstr.add(strSite);
   }else {
      arrstr.add("");
   } 
// same for other string inputs from user.
  ...

将String Array转换为字符串: 使用Apache Commons Lang,以便我可以使用StringUtils.join

String dork = StringUtils.join(arrstr, " ");