Android - 文字入力の確定検知について
こんばんは。
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キーを押したときにも、確定が発生します。
これを防ぐ方法はありますでしょうか?
よろしくお願いいたします。