这取决于您使用键盘的环境。对于文本/纯文本输入,这不应该是一个问题。但是,选项卡用于将焦点从一个元素更改为另一个元素。由于标签在大多数SoftIME的Android上都不存在,因此拦截TAB并提供Enter,这在大多数情况下有助于填写表格或输入后焦点需要更改为其他元素的情况。
EX)的用户名密码&
用户输入自己的用户名和按下回车,重点是现在改为密码列。
此外,android还使用了一种名为EditorInfo的方法来改变其键盘的状态。看看这个线程的简单使用EditorInfo - >Android: how to make keyboard enter button say "Search" and handle its click?
我已经遇到了这个问题几次。改变它的唯一方法是覆盖onKeyListener或在覆盖onKeyDown函数的地方制作自定义EditText。这种方式调用keyCode == KeyEvent.KEYCODE_TAB会给你实际的价值。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_TAB)
{
tab(); // implemented seperate
return false; // ignore focus changes when tab is pressed
}
super.onKeyUp(keyCode, event);
}
// additional helper methods
public void insert(String s)
{
int start = start();
int end = end();
if(start != end)
{
replace(s, start, end);
}
else
{
getEditableText().insert(start, s);
}
setSelection(start); // changes focus back to edittext
}
public void replace(String s, int st, int e)
{
getEditableText().replace(st, e, s);
}
public void tab()
{
insert("\t");
}
希望这有助于你出去。
-Chris
你用什么设备? – ariefbayu 2012-02-01 12:09:54
@silent摩托罗拉XOOM – daVe 2012-02-01 12:13:24