久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

如何使用 ActionDone 按鈕(不帶 Enter 按鈕)實現多行

How to implement Multiline EditText with ActionDone button (without Enter button)(如何使用 ActionDone 按鈕(不帶 Enter 按鈕)實現多行 EditText)
本文介紹了如何使用 ActionDone 按鈕(不帶 Enter 按鈕)實現多行 EditText的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

限時送ChatGPT賬號..

我有用于在消息(電子郵件、短信)上輸入內容的 EditText.我希望在單擊 ActionDone 按鈕時立即發布消息.我為此使用以下代碼:

I have EditText which is used for entering contents on messages (emails, sms). I want message to be immediately posted on ActionDone button click. I use following code for this:

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;
            }
        }); 

但我也希望這個消息字段是多行的,就像在任何其他信使應用程序中一樣.我可以用這條線來實現它:

But also I want this message field to be multiline, like in any other messenger apps. I can achieve it with this line:

android:inputType="textMultiLine"

問題是在添加這一行之后 ActionDone 按鈕開始像 Enter 按鈕一樣起作用.所以我捕獲 EditorInfo.IME_ACTION_DONE 的回調永遠不會被調用.因此,每次用戶按下該按鈕時,光標都會移動到新行而不是發布消息.

The problem is that after adding this line ActionDone button starts acting like Enter button. So my callback for catching EditorInfo.IME_ACTION_DONE is never called. So each time user press that button cursor moves to new line instead of posting message.

如何同時保留 EditText 的多行行為(在多行上顯示文本的能力)和 ActionDone 按鈕?

How can I keep both multiline behavior of EditText (ability to show text on multiple lines) and ActionDone button?

推薦答案

最后,在這里搜索類似的線程后,我找到了解決方案.只需在您的 Activity/Fragment 上添加這些行:

Finally, after searching here for similar threads I have found solution. Just need to add these lines on your Activity/Fragment:

editText.setHorizontallyScrolling(false);
editText.setMaxLines(Integer.MAX_VALUE);

由于某種原因,如果您從 xml 應用完全相同的設置,它將不起作用.您應該以編程方式進行.

For some reason it doesn't work if you apply exact same setting from xml. You should do it programmatically.

還有另一種可能的解決方案 - 從 EditText 派生并手動應用 EditorInfo.IME_ACTION_DONE.但對我來說,第一個解決方案看起來更簡單.

There is also another possible solution - derive from EditText and apply EditorInfo.IME_ACTION_DONE manually. But for me first solution looks simpler.

這篇關于如何使用 ActionDone 按鈕(不帶 Enter 按鈕)實現多行 EditText的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Cut, copy, paste in android(在android中剪切、復制、粘貼)
android EditText blends into background(android EditText 融入背景)
Change Line Color of EditText - Android(更改 EditText 的線條顏色 - Android)
EditText showing numbers with 2 decimals at all times(EditText 始終顯示帶 2 位小數的數字)
Changing where cursor starts in an expanded EditText(更改光標在展開的 EditText 中的開始位置)
EditText, adjustPan, ScrollView issue in android(android中的EditText,adjustPan,ScrollView問題)
主站蜘蛛池模板: 羞视频在线观看 | 中文字幕av中文字幕 | 在线观看成人小视频 | 成人国产精品入口免费视频 | 国产99久久精品 | 亚洲日本视频 | 国产999精品久久久 日本视频一区二区三区 | 午夜精品久久久久久久99黑人 | 在线观看成人小视频 | 欧美一区2区三区4区公司二百 | 国产69久久精品成人看动漫 | www.国产精品 | 日本精品一区二区三区在线观看视频 | 91九色视频 | 欧美一区二区 | 国产丝袜一区二区三区免费视频 | 亚洲美女在线视频 | 中文字幕日韩av | 日韩最新网站 | 亚洲va在线va天堂va狼色在线 | 国产成人在线视频播放 | 99精品欧美一区二区蜜桃免费 | 欧美美乳 | 亚洲国产中文在线 | 久久午夜剧场 | 91大神xh98xh系列全部 | 亚洲精品一区二区三区蜜桃久 | 亚洲国产一区视频 | 日韩欧美中文字幕在线观看 | 老头搡老女人毛片视频在线看 | 精品1区2区 | 亚洲性网 | 国产一区不卡在线观看 | 亚洲欧洲av在线 | 99精品欧美一区二区三区综合在线 | 成人精品一区二区 | 日本久久一区 | 国产精品视频偷伦精品视频 | 午夜久久久久 | 91在线播 | 99精品一级欧美片免费播放 |