如果条件为真,但会进入其他Android Studio

时间:2019-05-02 12:12:13

标签: java android

我正在遵循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

2 个答案:

答案 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");
 }