我正在创建一个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
请告诉我是否可以这样做或使用复选框很容易。
提前致谢
答案 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, " ");