Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Ignoring the fact Karakuri posted about your code being in the wrong callback, you could add a simple fix where you just listen to what key the user uses. </p> <p>Without any real testing or further improvements to your existing code, this does seem to fix your described problem: </p> <pre><code>package com.example.testwatchertest; import android.app.Activity; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.view.KeyEvent; import android.view.View; import android.view.View.OnKeyListener; import android.widget.EditText; public class MainActivity extends Activity implements TextWatcher { EditText editText; boolean keyDel = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editText = (EditText) findViewById(R.id.editText); editText.addTextChangedListener(this); editText.setOnKeyListener(new OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_DEL){ keyDel = true; }else{ keyDel = false; } return false; } }); } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if (!keyDel) { String str = s.toString(); if (count == 1) { str = str + "'"; } else if (count == 3) { str = str + "\""; } else if ((count &gt; 4) &amp;&amp; (str.charAt(str.length() - 1) != '\"')) { str = str.substring(0, str.length() - 2) + str.charAt(str.length() - 1) + "\""; } else { return; } editText.setText(str); editText.setSelection(editText.getText().length()); } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload