这是setText错误吗?

时间:2019-07-15 03:56:54

标签: java android

问题

我的TextView设置为新字符串,但之后将设置为先前的String。

布局

    <TextView
        android:id="@+id/qr_code_instruction"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:gravity="center"
        android:text=" "
        android:textColor="@color/qr_code_white"
        app:layout_constraintBottom_toBottomOf="@+id/bottom2"
        app:layout_constraintLeft_toLeftOf="@+id/left"
        app:layout_constraintRight_toRightOf="@+id/right"
        app:layout_constraintTop_toTopOf="@+id/bottom" />

切换监听器

glareSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if(isChecked){
                    qr_code_instruction.setText("----------");
                    camera2Manager.setGlareSwitch(true); //turn off glare
                }
                else{
                    camera2Manager.setGlareSwitch(false); //turn on glare
                }
            }
        });

检查班级部分

        if(!glareSwitch){
            System.out.println("1");
            glare = helper.glareDetection(bitmap);
            if(glare){
                ((TextView) activity.findViewById(R.id.qr_code_instruction)).setText(" ");
            } else {
                ((TextView) activity.findViewById(R.id.qr_code_instruction)).setText("Glare Detected");
            }
        }
        else{
            System.out.println("2");
            glare = true;
        }

错误

  1. 未选中该开关时,它将保持打印“ 1”并检查眩光

它将根据返回结果更新textview“” /“检测到眩光”。

  1. 选中开关后,它将保留打印2,而不执行任何操作。

它将文本视图更新为“ ----------”,然后将其设置为以前的最新文本“” /“检测到眩光”。

开关点击输出

enter image description here

ctrl + shift + f

enter image description here

更新

        if(!glareSwitch){
            System.out.println("1");
            glare = helper.glareDetection(bitmap);
//            if(glare){
//                ((TextView) activity.findViewById(R.id.qr_code_instruction)).setText(" ");
//            } else {
//                ((TextView) activity.findViewById(R.id.qr_code_instruction)).setText("Glare Detected");
//            }
        }
        else{
            System.out.println("2");
            glare = true;
        }

通过注释掉类中的setText。选中开关后,不会替换“ ----------”。

0 个答案:

没有答案