私はメッセージ(電子メール、SMS)の内容を入力するために使用されるEditTextを持っています。 ActionDoneボタンをクリックするとすぐにメッセージを投稿します。私はこのために、次のコードを使用しますActionDoneボタン(Enterボタンなし)で複数行編集テキストを実装する方法
message.setOnEditorActionListener((textView, i, keyEvent) -> {
switch (i) {
case EditorInfo.IME_ACTION_DONE:
if (messageCanBePosted()) {
SoftKeyboard.hide(message);
postMessage();
return true;
} else {
return false;
}
default:
return false;
}
});
をしかし、また、私はこのメッセージフィールドは、他のメッセンジャーのアプリのように、複数行になりたいです。
android:inputType="textMultiLine"
この行を追加した後、ActionDoneボタンがEnterボタンのように動作する問題があります。したがって、EditorInfo.IME_ACTION_DONE
を捕まえるための私のコールバックは決して呼び出されません。だから、ユーザがそのボタンを押すたびに、メッセージをポストするのではなく新しい行にカーソルが移動する。
EditText(複数行にテキストを表示する機能)とActionDoneボタンの両方の動作を維持するにはどうすればよいですか?
これは正常に機能していますか?私はそれを動作させることはできません – silverFoxA
@ silverFoxうん、それは私のために働いた。 xmlのEditTextにはどのプロパティを定義しますか? – Ruslan
ありがとうございました – silverFoxA