gpt4 book ai didi

android - 观察EditText时,OnBackPressed不起作用

转载 作者:行者123 更新时间:2023-12-02 13:22:33 27 4
gpt4 key购买 nike

我有EditText的扩展名,在这里我可以监听来自EditText键盘的事件。我需要知道用户何时按下任何按钮来显示(或不显示)错误。所以我将Observable用作键(rxbinding2),并且可以按任意键,但是当我在此EditText方法中按向后按钮和光标时,onBackPressed无效。
如何过滤onBack按下?

fun EditText.changeWithFormatting(formatter: (String) -> String): Observable<String> {
return Observable.merge(
afterTextChangeEvents()
.map { editableText },
keys()
.filter { it.action == KeyEvent.ACTION_UP }
.map { editableText }
)
.map { changeText(formatter(it.toString())) }
}

最佳答案

只需侦听keydown事件。这应该在将其交给您的UI元素之前触发。 super会将其传递给父级以正常运行。我不记得它返回的是true还是false,但是我认为它是正确的。

    @Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if ((keyCode == KeyEvent.KEYCODE_BACK))
{
onBackPressed();
return true;
}
return super.onKeyDown(keyCode, event);
}

关于android - 观察EditText时,OnBackPressed不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52098683/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com