Solución:
Puede recuperar el texto de EditText
y luego obtener el sub-string
de ese texto y vuelva a establecer ese texto en EditText
como a continuación…
String text = editText.getText().toString();
editText.setText(text.substring(0, text.length() - 1));
También puede utilizar el siguiente procedimiento … será más eficiente.
int length = editText.getText().length();
if (length > 0) {
editText.getText().delete(length - 1, length);
}
Deberías usar switch-case
como se muestra a continuación … y maneja tu nuttondel
onclick () de la siguiente manera …
public class MainActivity extends Activity implements OnClickListener {
Button buttona, buttonb;
Button buttonDel;
EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = (EditText) findViewById(R.id.editText);
addListenerOnButton();
}
public void addListenerOnButton() {
buttona = (Button) findViewById(R.id.buttona);
buttona.setOnClickListener(this);
buttonb = (Button) findViewById(R.id.buttonb);
buttonb.setOnClickListener(this);
buttonDel = (Button) findViewById(R.id.buttondel);
buttonDel.setOnClickListener(this);
}
public void onClick(View v) {
switch(v.getId()) {
case R.id.buttona:
editText.setText(editText.getText().toString()+buttona.getText().toString());
break;
case R.id.buttonb:
editText.setText(editText.getText().toString()+buttonb.getText().toString());
break;
case R.id.buttondel:
int length = editText.getText().length();
if (length > 0) {
editText.getText().delete(length - 1, length);
}
break;
}
}
}
Usando el método substring (), puede hacerlo,
String str = myEditText.getText().toString();
str = str.substring ( 0, str.length() - 1 );
// Now set this Text to your edit text
myEditText.setText ( str );
debe escribir las líneas anteriores en el método onClick ().
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)