EditText に TextWatcher があります。beforeTextChanged では、EditText の値が既に変更されていることがわかりました。コードの一部を次に示します。
@Override
public void beforeTextChanged (CharSequence s, int start, int lengthBefore, int lengthAfter)
{
// restoreValue = text.getText().toString();
String restoreValue = s.toString();
System.out.println ("restore |" + restoreValue + "|");
}
この関数のデバッグ出力には、EditText の元の値ではなく、変更された文字列が表示されます。"text" (EditText ウィジェット) から値を取得するか、"s" から値を取得するかは同じです。
誰もがこれについて考えられる理由を持っていますか?