こんばんは。

EditTextの入力終了検知を確定を検出することで行おうと考えています。検索で次のようなコードを見つけました。

edit1.addTextChangedListener(new TextWatcher()
{
        int currentLength = 0;

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {}

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        currentLength = s.toString().length();
    }

    @Override
    public void afterTextChanged(Editable s) {
        Log.v("", "after:" + s.toString());
        if (s.toString().length() < currentLength) {
            return;
        }
        boolean unfixed = false;
        Object[] spanned = s.getSpans(0, s.length(), Object.class);
        if (spanned != null) {
            for (Object obj : spanned) {
                if (obj instanceof android.text.style.UnderlineSpan) {
                    unfixed = true;
                }
            }
        }
        if (!unfixed) {
            Toast toast = Toast.makeText(getApplicationContext(), "確定", Toast.LENGTH_SHORT);
            toast.show();
        }
    }
});

うまく動作するのですが、確定後にソフトキーボードのDeleteキーを押したときにも、確定が発生します。

これを防ぐ方法はありますでしょうか?

よろしくお願いいたします。