次のように定義された数値のみを受け入れる EditText があります。
<EditText android:id="@+id/routeInit_price"
android:layout_height="wrap_content"
android:layout_width="120dp"
android:layout_gravity="center_horizontal"
android:lines="1"
android:inputType="numberDecimal"/>
ボタンを有効/無効にするために、以下のような有効な入力があるかどうかを検証しています。ただし、バックスペース/削除ボタンが押されたイベントでイベントを受け取りません。どうすれば修正できますか?EditText が空の場合、ボタンを無効にする必要があるためです。
EditText priceField = (EditText)findViewById(R.id.routeInit_price);
priceField.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View view, int keyCode, KeyEvent keyEvent) {
if(keyEvent.getAction() == KeyEvent.ACTION_UP)
{
if(((EditText)view).getText().toString().length() > 0)
ready.setEnabled(true);
else
ready.setEnabled(false);
}
return false;
}
});