string-concatenation - android studio java中的字符串连接
问题描述
我试图通过连接无效字段来在 textview 中显示无效的用户凭据。这样我就得到了一个 textview,比如无效的名称、用户名、联系人......一次。我希望一次显示无效字段。
我已经声明了一个字符串并尝试连接,但结果是 textview 显示所有字段,即使它是有效的。
boolean flag = true;
String s1,s2,s3,s4,s5;
boolean checkDataEntered() {
if (isEmpty(Name)) {
Name.setBackgroundResource(R.drawable.error);
s1="Full name";
flag = false;
}
if (isEmpty(Username)) {
Username.setBackgroundResource(R.drawable.error);
s2="Username";
flag = false;
}
if (isEmail(EmailId)) {
EmailId.setBackgroundResource(R.drawable.error);
s3="Email";
flag = false;
}
if (flag) {
return true;
} else {
textView7.setText("Please fill"+s1+ s2+ s3) ;
return false;
}
}
解决方案
这是因为您正在连接else
语句中的所有字段。
textView7.setText("Please fill"+s1+ s2+ s3);
但是您的要求是仅当它为空时才将其连接起来。所以你应该试试,
boolean flag = true;
String error = "";
boolean checkDataEntered() {
if (isEmpty(Name)) {
Name.setBackgroundResource(R.drawable.error);
error += "Full name";
flag = false;
}
if (isEmpty(Username)) {
Username.setBackgroundResource(R.drawable.error);
error += ",Username";
flag = false;
}
if (isEmail(EmailId)) {
EmailId.setBackgroundResource(R.drawable.error);
error += ",Email";
flag = false;
}
if (flag) {
return true;
} else {
textView7.setText("Please fill "+error) ;
return false;
}
}
推荐阅读
- angular - 检查 Angular 中 Observable 返回的对象类型?
- c++ - Redis海量插入问题“ERR Protocol error: too big mbulk count string”
- javascript - javascript刽子手,猜词时的问题
- c# - ASP.net Core API 返回 ActionResult
不强制返回类型 - iis - 在 Windows Server 的 ISS 上发布的 Blazor Webassembly 项目中使用 LetsEncrypt 证书
- apache-kafka - 将 Spring Java 配置替换为 Apache Kafka 的 XML
- python - 如何使用 folium 创建地图的静态骨架,其覆盖层(标记)每小时更改一次,使用烧瓶托管在网站上?
- android - CollapsingToolbarLayout 使 RecyclerView 在片段视图重新创建后无法滚动直到底部
- c# - 无法使用 IIS 将我的域与我的网站链接
- c# - 如果属性为空,如何将 Automapper 配置为忽略对象属性但如果不为空则映射