7

シェル コマンドを使用してフォーカスされた編集テキストをクリアする方法。

私は試した

adb shell input keyevent KEYCODE_CLEAR // Not worked 
adb shell input keyevent KEYCODE_DEL // Delete only one char
adb shell input keyevent KEYCODE_FORWARD_DEL // Not worked

これで、1文字までしか削除できません。フォーカスされた編集テキストを削除/クリアできる方法はありますか?

4

3 に答える 3

8

これは私のために働く:

function clear_input() {
    adb shell input keyevent KEYCODE_MOVE_END
    adb shell input keyevent --longpress $(printf 'KEYCODE_DEL %.0s' {1..250})
}

それで:

clear_input
于 2016-04-06T13:54:49.463 に答える
2

uiautomator ( https://github.com/xiaocong/uiautomator ) を使用する場合は、次の方法でこれを行うことができます。

  1. EditText ウィジェットをタップしてフォーカスを取得してから、

  2. を使用device(focused=True).clear_text()してビューをクリアするか、 を 使用しdevice(focused=True).set_text("new text")て新しいテキストを設定します。

于 2015-12-11T02:39:35.980 に答える
1

これまでに見つけた唯一の方法はinput swipe x y x y duration、長押しをシミュレートするために使用する適切な座標を取得することです。これにより、EditText フィールド内のすべてのテキストが強調表示されます。次に、そこにあったものを置き換えたいキーを送信できます。

adb shell input keyevent KEYCODE_CLEARフィールド内のすべてのテキストがクリアされることを願っています。誰かがより良い方法を見つけることができれば、物事はずっと簡単になります。

于 2015-11-27T17:23:51.097 に答える