从代码中激活删除键

时间:2018-01-13 20:50:59

标签: java android android-layout android-studio android-xml

我在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键盘上的删除键一样

不要让我删除字符串中的最后一个字符,这不是我想要的,我只是搜索模拟按删除键的方式

2 个答案:

答案 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);
        }
    });