From 15161862f335a173c71ae80a20b9e3df5fcf78b5 Mon Sep 17 00:00:00 2001 From: andrekir Date: Sun, 5 Sep 2021 15:10:02 -0300 Subject: [PATCH] Fix: EditText with textMultiLine & IME_ACTION_SEND --- app/src/main/java/com/geeksville/mesh/ui/MessagesFragment.kt | 5 ++++- app/src/main/res/layout/messages_fragment.xml | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/geeksville/mesh/ui/MessagesFragment.kt b/app/src/main/java/com/geeksville/mesh/ui/MessagesFragment.kt index b483a5a3..68f85c4d 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/MessagesFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/MessagesFragment.kt @@ -1,6 +1,7 @@ package com.geeksville.mesh.ui import android.os.Bundle +import android.text.InputType import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -28,6 +29,8 @@ import java.util.* // Allows usage like email.on(EditorInfo.IME_ACTION_NEXT, { confirm() }) fun EditText.on(actionId: Int, func: () -> Unit) { + setImeOptions(EditorInfo.IME_ACTION_SEND) // Force "SEND" IME Action + setRawInputType(InputType.TYPE_CLASS_TEXT) // Suppress ENTER but allow textMultiLine setOnEditorActionListener { _, receivedActionId, _ -> if (actionId == receivedActionId) { @@ -239,7 +242,7 @@ class MessagesFragment : ScreenFragment("Messages"), Logging { // requireActivity().hideKeyboard() } - binding.messageInputText.on(EditorInfo.IME_ACTION_DONE) { + binding.messageInputText.on(EditorInfo.IME_ACTION_SEND) { debug("did IME action") val str = binding.messageInputText.text.toString().trim() diff --git a/app/src/main/res/layout/messages_fragment.xml b/app/src/main/res/layout/messages_fragment.xml index acbfe90d..77c60101 100644 --- a/app/src/main/res/layout/messages_fragment.xml +++ b/app/src/main/res/layout/messages_fragment.xml @@ -33,7 +33,7 @@ android:id="@+id/messageInputText" android:layout_width="match_parent" android:layout_height="wrap_content" - android:imeOptions="actionDone" + android:inputType="textMultiLine" android:maxLength="200" android:text="" />