¿Cómo eliminar la última letra de EditText con el botón?
Tengo que los botones que escribe A y B a un edittext. Si hay algo en el edittext, ¿cómo puedo borrar las últimas letras con el botón "Del"?
Mi diseño:
- La pista EditText muestra espacios adicionales cuando inputType = "textpassword"
- Haga un subrayado rojo ondulado para algunas palabras en edittext
- ¿Deshabilitar el teclado virtual de EditText pero todavía permite copiar / pegar?
- Establecer imagen en el lado izquierdo de EditText en Android
- OnCreateContextMenu () para EditText no funciona en dispositivos reales
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <Button android:id="@+id/buttonb" android:layout_width="100dp" android:layout_height="100dp" android:layout_alignParentLeft="true" android:layout_below="@+id/buttona" android:text="@string/buttonb" android:textSize="50sp" android:textStyle="bold" /> <Button android:id="@+id/buttona" android:layout_width="100dp" android:layout_height="100dp" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:text="@string/buttona" android:textSize="50sp" android:textStyle="bold" /> <Button android:id="@+id/buttondel" android:layout_width="100dp" android:layout_height="100dp" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:text="@string/buttondel" android:textSize="50sp" android:textStyle="bold" /> <EditText android:id="@+id/editText" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:ems="58" android:textSize="20sp" android:textStyle="bold" android:inputType="text" > <requestFocus /> </EditText> </RelativeLayout>
Y mi java:
package com.koostamas.keyboard; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.app.Activity; public class MainActivity extends Activity implements OnClickListener { Button buttona, 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); buttondel = (Button) findViewById(R.id.buttonb); buttondel.setOnClickListener(this); } public void onClick(View v) { switch(v.getId()) { case R.id.buttona : Button buttona = (Button)v; editText.setText(editText.getText().toString()+buttona.getText().toString()); break; case R.id.buttondel : String text = editText.getText().toString(); editText.setText(text.substring(0, text.length() - 1)); break; } } }
¿Cómo puedo hacerlo? Gracias Inn avance.
- ¿Cómo funciona la sintaxis de acceso a propiedades de Kotlin para las clases Java?
- Cómo eliminar todos los oyentes agregados con addTextChangedListener
- Cómo obtener datos de EditText creado dinámicamente con LayoutInflater en android?
- SetSoftInputMode para un cuadro de diálogo para no ocultar EditText al escribir?
- Detectar si el contenido de EditText fue modificado por el usuario o por programa?
- EditText en ListView sin reciclar entrada
- EditText - Cómo establecer el texto predeterminado en android edittext
- Mostrar una lista desplegable del texto ingresado recientemente al hacer clic en un cuadro de edición de Android
Puede recuperar el texto de EditText
y luego obtener la sub-string
de ese texto y establecer de nuevo ese texto a 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ía usar switch-case
como se indica a continuación … y manejar su nuttondel
() 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 );
Usted necesita escribir encima de líneas en el método del onClick ().
str=edittext.gettext+""; str.length();
Entonces para loop o str1 = str.substring ( 0, str.length() - 1 );
Puedes hacerlo :-
import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.app.Activity; public class MainActivity extends Activity implements OnClickListener { Button buttona, buttonb; 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); } public void onClick(View v) { switch(v.getId()) { case R.id.buttona : //do something break; case R.id.buttondel ://do something break; } } }
- IntelliJ IDEA 12 clase duplicada R.java y BuildConfig.java
- Android: cambia dinámicamente TextView Color de fondo