Dasser Basyouni
Dasser Basyouni

Reputation: 3252

Empty EditText return string into name, id

I am trying to get the string of the EditText and if it is " I want to get " also but the string is appearing this in the EditText

android.support.v7.widget.AppCompatEditText{42e33310 VFED..CL .F ....ID40,40-1160,315 #7f0c006f app:id\CalculatorDisplay}

after getting it and giving it to the EditText again and here is a part of the onClick that works when I press a button and the rest of it is not dealing with this problem the problem is in NoRepeatNumber as I tested that when I get it in TestTV TextView I saw the code above

public void onClick(View view) {
    TestTV.setText("enterd ");
    String buttonPressed = ((Button) view).getText().toString();
    PublicButtonPressed = buttonPressed;
    if (DIGITS.contains(buttonPressed)) {
        SinOrNumber=2;
        TestTV.append("numbering");
        // digit was pressed

        if (!Started) {
            mCalculatorDisplay.setText("");
            TestTV.append("\nenterd setText");
        } else {
            TestTV.append("\nenterd setText eslse");
        }

        if (Started) {
            OperationEnded = true;
        }
        if (NumberingEnded) {
            FullNumber = String.valueOf(Number[Ni]);
            Ni++;
            NumberingEnded = false;
            FullCalculation= FullNumber + " ";
            NoRepeatNumber="";
            DisplayCalculations();
        }
        FullNumber = FullNumber + buttonPressed;
        Number[Ni] = Integer.parseInt(FullNumber);
        TestTV.append("\nNumber[" + Ni + "] =" + + Number[Ni] + "\n" + "buttonPressed =" + buttonPressed + "\nFullNumber =" + FullNumber);
        //DisplayCalculations();
        if ("".equals(mCalculatorDisplay)) {

            TestTV.append("\nentered equal\"\"");

            NoRepeatNumber="";
        } else {
            if (NoRepeatNumber == "") {
                NoRepeatNumber = String.valueOf(mCalculatorDisplay);
                TestTV.append("\nNoRepeatNumber =" + NoRepeatNumber);
            }
        }
        if(!NumberingEnded){
            mCalculatorDisplay.setText(NoRepeatNumber + FullNumber);
        }

        if (!Started) {
            Started = true;
        }
        if (userIsInTheMiddleOfTypingANumber) {

            if (buttonPressed.equals(".") && mCalculatorDisplay.getText().toString().contains(".")) {
                // ERROR PREVENTION
                // Eliminate entering multiple decimals
            } else {
                Number[Ni] = Integer.parseInt(FullNumber);
            }
        }
        userIsInTheMiddleOfTypingANumber = true;
    } else {}}

Upvotes: 0

Views: 260

Answers (1)

khusrav
khusrav

Reputation: 5307

Call mCalculatorDisplay.getText().toString() instead of String.valueOf(mCalculatorDisplay).

I guess mCalculatorDisplay is an EditText?

Update: NoRepeatNumber = String.valueOf(mCalculatorDisplay); - this is the problem part

Upvotes: 1

Related Questions