這取決於您使用鍵盤的環境。對於文本/純文本輸入,這不應該是一個問題。但是,選項卡用於將焦點從一個元素更改爲另一個元素。由於標籤在大多數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