我在android studio中有一个代码,代码中我有一个EditText
<EditText
android:background="#90fff7"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="50dp"
android:layout_marginTop="90dp"
android:maxLength="50"
/>
和按钮
<Button
android:background="@drawable/ic_if_delete"
android:layout_gravity="fill"
android:id="@+id/delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="3"
android:layout_row="0"
/>
我希望当我点击按钮时 - 点击删除键(来自defult键盘)的事件将激活。
例如,如果我点击编辑文本中的我的按钮,第一个字母删除就像我点击defult键盘上的删除键一样
不要让我删除字符串中的最后一个字符,这不是我想要的,我只是搜索模拟按删除键的方式
答案 0 :(得分:0)
您必须在编辑文本中操作文本
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int length = editText.getSelectionStart();
if (length > 0) {
editText.getText().delete(length - 1, length);
edittext.setSelection(length-1);
}
}
});
答案 1 :(得分:0)
将ID设置为android:id="@+id/btn_delete"
上的视图和android:id="@+id/edit_query"
设置按钮上的点击监听器
final EditText editQuery = findViewById(R.id.edit_query);
Button btnDelete = findViewById(R.id.btnDelete);
btnDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
editQuery.setText(""); // if want to clear all
String value = editQuery.getText().toString();
value=value.subString(0,value.length()-1);
editQuery.setText(value);
}
});