完璧にeditTextを解決してキーボードを傍受して車に戻って2回の解決方法を実行します
1203 ワード
開発中にキーボードのリターンキーを傍受することがあるかもしれませんが、ネット上で一つの方法を探しました.
2回実行されたことがわかりますが、もちろん理由は簡単です.引用文onkeyイベントにはdownとupイベントが含まれているので、判断を加えるだけでいいです.
具体的なコードは以下の通りです.
これで完璧に解決する.もちろん、setOnEditorActionListenerの傍受も同様の原理です.
EditTextのImeOptionsプロパティを異なる値に設定すると、Enterキーに異なる文字やパターンが表示されるようになります.
ActionNone:Enterキーを押して、次の行のactionGo:Go、actionSearch:1つの拡大鏡actionSend:SendactionNext:NextactionDone:Doneにカーソルを合わせ、最後のテキスト入力ボックスでなくてもソフトキーボードを非表示にします
private OnKeyListener onKey = new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER) {
login();
}
return false;
}
};
edtTxtPassword.setOnKeyListener(onKey);
2回実行されたことがわかりますが、もちろん理由は簡単です.引用文onkeyイベントにはdownとupイベントが含まれているので、判断を加えるだけでいいです.
具体的なコードは以下の通りです.
private OnKeyListener onKey = new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER
&& event.getAction() == KeyEvent.ACTION_UP) {
myLogin();
}
return false;
}
};
これで完璧に解決する.もちろん、setOnEditorActionListenerの傍受も同様の原理です.
EditTextのImeOptionsプロパティを異なる値に設定すると、Enterキーに異なる文字やパターンが表示されるようになります.
ActionNone:Enterキーを押して、次の行のactionGo:Go、actionSearch:1つの拡大鏡actionSend:SendactionNext:NextactionDone:Doneにカーソルを合わせ、最後のテキスト入力ボックスでなくてもソフトキーボードを非表示にします