-1

Here is the screenshot of Error message

I was creating a calculator app. It seems the error message is in

display.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (getString(R.string.display).equals(display.getText().toString().length()));{
                    display.setText("");
            }
            }
        });
Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9;
Button buttonMult;
Button buttonSub;
Button buttonDec;
Button equal;
Button add;
Button divide;
Button percent;
private EditText display;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    b0 =findViewById(R.id.button0);
    b1 =findViewById(R.id.button1);
    b2 =findViewById(R.id.button2);
    b3 =findViewById(R.id.button3);
    b4 = findViewById(R.id.button4);
    b5 =findViewById(R.id.button5);
    b6 =findViewById(R.id.button6);
    b7 =findViewById(R.id.button7);
    b8 =findViewById(R.id.button8);
    b9 =findViewById(R.id.button9);
    buttonMult =findViewById(R.id.buttonMult);
    buttonSub =findViewById(R.id.buttonSub);
    buttonDec =findViewById(R.id.buttonDec);
    add =findViewById(R.id.add);
    divide =findViewById(R.id.divide);
    percent =findViewById(R.id.percent);
    equal =findViewById(R.id.equal);
    display = findViewById(R.id.input);
    display.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (getString(R.string.display).equals(display.getText().toString().length()));{
                display.setText("");
        }
        }
    });
    add.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {display.setText("+");

        }
    });
    equal.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {display.setText("=");

        }
    });
    buttonDec.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {display.setText(".");

        }
    });

    buttonSub.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {display.setText("-");

        }
    });
    buttonMult.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {display.setText("*");

        }
    });
    b0.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
           display.setText("0");
        }
    });
    b1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            display.setText("1");
        }
    });
    b2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            display.setText("2");
        }
    });
    b3.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            display.setText("3");
        }
    });
    b4.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) { display.setText("4");
        }
    });
    b5.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            display.setText("5");
        }
    });
    b6.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            display.setText("6");
        }
    });
    b7.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            display.setText("7");
        }
    });
    b8.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            display.setText("8");
        }
    });
    b9.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            display.setText("9");
        }
    });
}

}

Ivan Wooll
  • 4,145
  • 3
  • 23
  • 34
  • Looks like that `display = findViewById(R.id.input);` need to be `display = findViewById(R.id.display);` check the id anyway from the layout. – Zain Apr 29 '21 at 22:07
  • Yes, I was trying to add more than 1 digits in calculator but as so far it is 1 digits. – Mohamed Mohamed Apr 29 '21 at 22:18

1 Answers1

0

This error typically occurs when you are referencing a view that isn't associated with the layout you've loaded.

Your code references view with the ID input. I'm guessing your EditText View has an ID of Display, try changing the reference ID for the display variable.

display = findViewById(R.id.display)
Shawn
  • 1,222
  • 1
  • 18
  • 41