gpt4 book ai didi

Android requestFocus() 跳过 edittext

转载 作者:行者123 更新时间:2023-11-29 20:47:57 24 4
gpt4 key购买 nike

我正在尝试以编程方式指定当用户按下键盘上的下一个按钮时焦点所在的位置。我可以让它为某些人工作,但我有一个情况, View 被跳过,它下面的 View 获得焦点。

我进入了调试器,焦点确实经过了我的 View ,但随后跳转到了最后一个。下面是我正在谈论的内容的小图。

(1) EditText 
(2) AutoCompleteEditText
(3) EditText
(4) EditText
(1) -> (2) is ok
(2) -> (3) doesn't work, it does (2) -> (3) -> (4), where it briefly go to (3)
if I start at (3), then (3) -> (4) is ok.

这就是我设置焦点的方式

view.setOnKeyListener(new OnKeyListener()
{
@Override
public boolean onKey(View v, int keyCode, KeyEvent event)
{
if((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER))
{
view.clearFocus();
nextView.requestFocus();

return true;
}

return false;
}
});

最佳答案

view.setOnKeyListener(new OnKeyListener()
{
@Override
public boolean onKey(View v, int keyCode, KeyEvent event)
{
if((event.getAction() == KeyEvent.ACTION_UP) && (keyCode == KeyEvent.KEYCODE_ENTER))
{
view.clearFocus();
nextView.requestFocus();

return true;
}

return false;
}
});

找到解决方案。如果其他人遇到此问题,只需将 ACTION_DOWN 更改为 ACTION_UP,以便您的代码仅在按下完成时触发。我猜 ACTION_DOWN,有多个调用。但我不确定。

关于Android requestFocus() 跳过 edittext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29926709/

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