Hesham
Hesham

Reputation: 45

Trying to clear one character from TextView

I made a calculator app and I made a clear Button that clears the TextView.

private TextView _screen;
private String display = "";

private void clear() {
    display = "";
    currentOperator = "";
    result = "";
}

I got this code from Tutorial and set the clear button onClick to onClickClear, so it do that part of the code and it works. Now I have made this code delete only one number at a time and it don't work. What can be done to delete only one number at a time?

public void onClickdel(View v) {
    display = "";
}

Upvotes: 2

Views: 1943

Answers (3)

c.dipu0
c.dipu0

Reputation: 103

String display = textView.getText().toString();

    if(!display.isEmpty()) {

    textView.setText(display.substring(0, display.length() - 1));   
}

Upvotes: 0

Vanna
Vanna

Reputation: 756

You are modifying the string and not the textview.

To clear the TextView use:

_screen.setText("");

To remove the last character:

String str = _screen.getText().toString();
if(!str.equals(""))
    str = str.substring(0, str.length() - 1);
_screen.setText(str);

Upvotes: 0

Muthukrishnan Rajendran
Muthukrishnan Rajendran

Reputation: 11642

Below code will delete one char from textView.

String display = textView.getText().toString();

if(!TextUtils.isEmpty(display)) {
    display  = display.substring(0, display.length() - 1);

    textView.setText(display);
}

Upvotes: 7

Related Questions