EditText フィールドの入力を変更するには、2 つの方法を使用したいと考えています。EditText フィールドは、数値 ("12.34" 形式) のみを許可します。
通常 の動作: ユーザーが EditText に触れると、キーボードが表示され、通常の EditText フィールドのように動作します。
動作の移動 ユーザーがタッチして上下にドラッグすると、EditText をインクリメント/デクリメントしたいと思います。
もっと多くの人が同様の実装を持っていると思うので、私はこのタイプの実装を探しましたが、それを見つけることができませんでした.
昨日、次のコードを試しましたが、うまくいきません。ドラッグ中にキーボードが表示されたままになり、スリープを使用することもあまり良い実装ではありません。
ここの誰かがより良い解決策を教えてくれることを願っています。
前もって感謝します!
inputET.setOnTouchListener(otl);
private OnTouchListener otl = new OnTouchListener() {
public boolean onTouch (View v, MotionEvent event) {
if (v == inputET) {
// to distinguish between touch and drag
if (event.getX > 50) { // drag
float oldPos = event.getX;
thread.sleep(10);
inputET.setText(Float.toString(Float.parseFloat(inputET.getText()) - oldPos - event.getX);
return true;
} else { // touch
return false;
}
}
};