我正在尝试在Google Nexus 5上管理Google键盘上的Next
事件。我希望我的应用程序在按下Next
按钮时检查用户信息。
代码如下所示:
private TextView.OnEditorActionListener GenerateEditorListeners()
{
return new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if(actionId == EditorInfo.IME_NULL && event.getKeyCode() == KeyEvent.KEYCODE_ENTER){
if (!finished)
{
if (CheckUserInfo()) finished = true;
}
return true;
}
else
{
return false;
}
}
};
}
在三星Galaxy S4上运行完美,但在谷歌Nexus 5上 actionId = 0 和 event = null 。所以我发现三星键盘可以正常使用这个代码,但谷歌键盘不会发生相同的情况。
知道为什么它没有为谷歌的键盘而烦恼吗?
编辑:我在this帖子中读到Google键盘在某些LatinIME键盘上有错误....我正在使用拉丁语。如果这是问题,如何解决?
答案 0 :(得分:0)
我可以使用OnKeyListener
事件来解决它:
textUserEmail.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if(event.getKeyCode() == KeyEvent.KEYCODE_ENTER){
if (!finished)
{
if (CheckUserInfo()) finished = true;
}
return true;
}
else
{
return false;
}
}
});
现在它适用于所有键盘。