我知道如何检查字符串值是否为null或为空?但是在这里我还有其他类型的问题,因此请阅读完整的问题。 现在,我的代码中总共有16个字符串
String name = sharedPreferences.getString("name", "");
String email = sharedPreferences.getString("email", "");
String mobile = sharedPreferences.getString("mobile", "");
String gender = sharedPreferences.getString("gender", "");
String roll_no = sharedPreferences.getString("roll_no", "");
String er_no = sharedPreferences.getString("enr_no", "");
String address = sharedPreferences.getString("address", "");
String state = sharedPreferences.getString("state", "");
String city = sharedPreferences.getString("city", "");
String pincode = sharedPreferences.getString("pincode", "");
String alt_mobile = sharedPreferences.getString("alt_mobile", "");
String program = sharedPreferences.getString("program", "");
String image = sharedPreferences.getString("image","");
String dob = sharedPreferences.getString("dob","");
String course = sharedPreferences.getString("course", "");
String year = sharedPreferences.getString("year", "");
String sem = sharedPreferences.getString("sem","");
String fname = sharedPreferences.getString("fname","");
并在相关的文本视图中设置所有值。
textViewName.setText(name);
textViewFname.setText(fname);
textViewEmail.setText(email);
textViewmobile.setText(mobile);
textViewGender.setText(gender);
textViewdob.setText(dob);
textViewcourse.setText(course);
textViewYear.setText(year);
textViewSem.setText(sem);
textViewErno.setText(er_no);
textViewAdd.setText(address);
textViewRollNo.setText(roll_no);
textViewRemainAdd.setText(city + ", " + state + ", " + pincode);
textViewAltMob.setText(alt_mobile);
textViewPrograme.setText(program);
我不想一一检查所有字符串。
if (Objects.requireNonNull(roll_no).equals("")){
textViewRollNo.setText("Null Value");
}else {
textViewRollNo.setText(roll_no);
}
我可以在一个循环中检查所有字符串,或者如果任何字符串为null,那么我可以在相关的textview
中打印“空值” 消息。
我不知道我要问写问题,但是如果有任何解决方法,请共享一个代码来解决此问题。
答案 0 :(得分:3)
那么,您可以将“默认值”设置为“空值”,除非您怀疑保存到sharedPreferences的字符串可能是空字符串?
String state = sharedPreferences.getString("state", "Null Value");
否则,您可能必须创建一个方法:
public String getCorrectValue(String value) {
return value.isEmpty()? "Null Value" : value;
}
答案 1 :(得分:0)
在科特林,应该是这样的:
val myMap = mapOf (
"name" to textViewName,
"email" to textViewEmail,
... )
for ((key, view) in myMap) {
val value = sp.getString(key, "")
view.text = if (value.isEmpty()) "Null value" else value
}