代码从用户获取两个用户输入并将输入与数据库进行比较,并从数据库中输出相应的数据。我是否添加代码以检查空字段?
protected void onPostExecute(Void v) {
try {
boolean available=false;
JSONArray Jarray = new JSONArray(result);
for(int i=0;i<Jarray.length();i++) {
JSONObject Jasonobject = null;
//text_1 = (TextView)findViewById(R.id.txt1);
Jasonobject = Jarray.getJSONObject(i);
//get an output on the screen
//String id = Jasonobject.getString("id");
String name = Jasonobject.getString("name");
String name1 = Jasonobject.getString("name1");
String db_detail = "";
if (et.getText().toString().equalsIgnoreCase(name) && et1.getText().toString().equalsIgnoreCase(name1)||et.getText().toString().equalsIgnoreCase(name1) && et1.getText().toString().equalsIgnoreCase(name)) {
db_detail = Jasonobject.getString("detail");
text.setText(db_detail);
available = true;
break;
}
}
if(!available)
Toast.makeText(MainActivity.this, "Not available", Toast.LENGTH_LONG).show();
this.progressDialog.dismiss();
}
答案 0 :(得分:2)
使用TextUtils.isEmpty(charactersequence)
if(!TextUtils.isEmpty(et.getText().toString().equalsIgnoreCase(name)))
{
}
文件:
public static boolean isEmpty (CharSequence str)
Added in API level 1
Returns true if the string is null or 0-length.
Parameters
str the string to be examined
Returns
true if str is null or zero length
使用optString
Jasonobject.optString("name");
答案 1 :(得分:0)
您可以使用String.isEmpty()方法检查String的长度是否为0。
您也可以尝试使用String.matches()。
使用equalsIgnoreCase(“”)执行实际的字符串比较。如果参数不为null并且字符串相等,则此方法返回true,忽略大小写;否则就是假的。
因此,您可以使用isEmpty()或匹配(“”)方法检查空值,然后进行比较。
答案 2 :(得分:0)
假设您收到的字符串如下,
String nameString = jsonObj.getString("name");
您可以使用以下检查来检查它是否为空。
if(nameString.equals(""))