キーボードを使用している状況によって異なります。テキスト/プレーン入力の場合、これは問題ではありません。ただし、tabはある要素から別の要素にフォーカスを変更するために使用されます。ほとんどのSoftIMEのAndroidタブではタブが存在しないため、TABを入力してEnterキーを押すと、フォームが入力されている場所や入力後に別の要素にフォーカスを移動する必要がある場所で役立ちます。
EX)、ユーザー名、パスワード&
ユーザーが自分のユーザー名を入力し、Enterキーを押すと、フォーカスは、現在、パスワード欄に変更されます。
さらに、アンドロイドは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");
}
希望すると、これが役に立ちます。
-hris
どのデバイスをお使いですか? – ariefbayu
@silent Motorola XOOM – daVe