我正在遵循PluralSight上的Android Studio教程,并且我有以下代码:
@Override
protected void onPostExecute(String result) {
TextView tvResult = (TextView)findViewById(R.id.tvResponse);
TextView tvError = (TextView)findViewById(R.id.tvError);
tvResult.setText(result);
mLoadingProgress.setVisibility(View.INVISIBLE);
Log.d("Error", result);
if(result == null) {
tvResult.setVisibility(View.INVISIBLE);
tvError.setVisibility(View.VISIBLE);
Log.d("Error", "null");
}
else {
tvResult.setVisibility(View.VISIBLE);
tvError.setVisibility(View.INVISIBLE);
Log.d("Error", "not null");
}
}
由于某种原因,当结果为null时,它将转到其他地方,我在调试模式下看到了它,并且给出的日志是:
D/Error: null
not null
答案 0 :(得分:1)
创建一个方法以字符串为null或不为空
bkg.load()
使用这种方法
public boolean isEmptyString(String inputStr) {
if (inputStr != null && !inputStr.equals("") && inputStr.toString().trim().length() > 0) {
return false;
} else
return true;
}
答案 1 :(得分:1)
if (result != null && !result.isEmpty())
{
tvResult.setVisibility(View.VISIBLE);
tvError.setVisibility(View.INVISIBLE);
Log.d("Error", "not null");
}
else{
tvResult.setVisibility(View.INVISIBLE);
tvError.setVisibility(View.VISIBLE);
Log.d("Error", "null");
}