【问题标题】:Automatically click submit button and how to pass time limit on submit button?自动点击提交按钮以及如何通过提交按钮的时间限制?
【发布时间】:2019-07-05 16:12:37
【问题描述】:

我的想法,在app里,有两个views,一个是editText,一个是提交button,当点击editText时,会在editText中粘贴一些预设的字符,和然后单击提交按钮发送这些字符。目前,已经完成了一半的工作。预设字符可以粘贴到editText字段中,但仍需要手动点击提交按钮。所以另一半的工作是当editText被填写时,提交按钮将被自动点击。我可以在editText被填充时自动点击软键盘上的提交按钮吗?

另一个问题是在另一个应用程序中,提交按钮被限制点击特定时间,可能是一秒钟,仍然不知道如何通过这个时间限制。调用系统时间并提前一秒设置系统时间?能超过这个时间限制吗?

【问题讨论】:

  • 到目前为止你尝试了什么?
  • 您只想按一次按钮还是必须在一秒钟内按一次按钮?
  • 按钮被设置时间限制,比如点击一次按钮,一秒后可以点击第二次。我想要的是每次都填写编辑文本,提交按钮将被点击一次发送,没有时间限制

标签: android onclick buttonclick


【解决方案1】:

您可以使用TextWatcher 来监视 EditText 的更改。

您可以像这样使用TextWatcher

editText.addTextChangedListener(new TextWatcher() {
    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {

    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {

    }

    @Override
    public void afterTextChanged(Editable s) {
        submitButton.performClick();
    }
});

使用TextWatcher,您可以响应与在EditText 中输入的文本相关的某些事件。在此示例中,我模拟了在文本更改后单击按钮。

【讨论】:

  • 问题是即使编辑文本正在填充,由于提交按钮的时间限制,仍然无法立即发送消息。 PS编辑文本和提交按钮都属于另一个应用程序
  • 不要使用performClick(),而是直接使用该按钮的OnClickListener 中的代码。这样,您可以直接运行按钮在按下时将运行的代码,而无需实际按下按钮。如果您直接运行代码,则不应有任何按钮延迟。
  • 由于提交按钮在另一个应用程序中,不知道如何获取按钮ID并在其上设置一些侦听器或方法
  • 有什么想法吗?杰基,如果不可能,我就放弃这个
  • 如果你使用 AccessibilityEvents 来执行提交按钮点击,延迟是不可避免的。
猜你喜欢
  • 2013-03-24
  • 2015-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-30
  • 2018-11-13
  • 2017-12-28
  • 2016-11-28
相关资源
最近更新 更多