gpt4 book ai didi

android - 跨不同设备处理 EditText 中的输入键

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:55:38 25 4
gpt4 key购买 nike

现在,我正在使用 onEditorActionListener 处理我的 EditText 字段中的回车键,并查看 IME_NULL 的操作 ID。它适用于我的所有用户,除了一个。她有一部 Xperia Arc。

TextView.OnEditorActionListener keyListener = new TextView.OnEditorActionListener(){
public boolean onEditorAction(TextView view, int actionId, KeyEvent event) {
if(actionId == EditorInfo.IME_NULL){
if(((EditText)findViewById(view.getId())) == ((EditText)findViewById(R.id.etUser))){
((EditText) findViewById(R.id.etPass)).requestFocus();
}
if(((EditText)findViewById(view.getId())) == ((EditText)findViewById(R.id.etPass))){
logon();
}
}
return true;
}
};

了解该问题后,我尝试了另一种方法,即使用 onKeyListener 并查找键事件 ACTION_DOWN,然后检查键码是否与 KEYCODE_ENTER 匹配。

EditText etUserName = (EditText) findViewById(R.id.etUser);
etUserName.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View view, int keyCode, KeyEvent event){
if (event.getAction() == KeyEvent.ACTION_DOWN){
switch (keyCode)
{
case KeyEvent.KEYCODE_DPAD_CENTER:
case KeyEvent.KEYCODE_ENTER:
if(((EditText)findViewById(view.getId())) == ((EditText)findViewById(R.id.etUser))){
((EditText) findViewById(R.id.etPass)).requestFocus();
}
return true;
default:
break;
}
}
return false;
}
});

也没有骰子。我现在不知所措。有很多应用程序可以很好地处理回车键。他们有什么不同之处?

最佳答案

我想出了如何让它发挥作用。

我必须将 android:singleLine="true"添加到布局 XML 中的 EditText 标记(或者,您可以在代码中使用 setSingleLine() 来设置它)。这会强制编辑文本仅使用一行,焦点将转到下一个 EditText 框。

关于android - 跨不同设备处理 EditText 中的输入键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6401887/

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