清除编辑文本 - adb
问题描述:
如何使用shell命令清除重点编辑文本。清除编辑文本 - adb
我试图
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
有了这个,我只能删除高达只有一个字符,有没有什么办法可以删除/清除聚焦编辑文本。
答
到目前为止,我发现的唯一方法是获得正确的坐标,以使用input swipe x y x y duration
来模拟长按。这将突出显示EditText字段中的所有文本。然后您可以发送您想要替换的密钥。
我只希望adb shell input keyevent KEYCODE_CLEAR
将清除该字段中的所有文本。如果有人能找到更好的方式,那会让事情变得更容易。
答
如果使用uiautomator(https://github.com/xiaocong/uiautomator),你可以通过这样做:
水龙头的EditText小部件获得焦点,然后
使用
device(focused=True).clear_text()
清除视图,或者通过device(focused=True).set_text("new text")
到设置一个新的文本。
答
这个工作对我来说:
function android_clear_input {
adb shell input keyevent KEYCODE_MOVE_END
for i in $(seq 50); do
adb shell input keyevent KEYCODE_DEL
done
}
然后:
android_clear_input
答
可能下一个解决方案看起来像是一个黑客,但它的工作:
mEditText.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (KeyEvent.KEYCODE_CLEAR == keyCode) {
mEditText.setText("");
}
return true;
}
});
尝试使用'亚行外壳输入文本''' –
命令的无效参数:te xt,甚至如果我让它运行,它会在已经输入的文本中添加新的空间。 – Krishnakant
我无法找到任何可以清除整个edittext数据的命令。 –