当前位置: 首页 > 知识库问答 >
问题:

具有文本限制的多行编辑文本

慕容越泽
2023-03-14

如何创建具有文本限制的多行edittext?我设置了edittext的maxLength,但它使edittext成为单行,如果我将inputType添加到textMultiLine,则设置为actionDone的imeOptions将不会显示。我不想为maxLines属性设置静态值。

<EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/activityNameHint"
        android:inputType="textMultiLine"
        android:maxLength="500"
        android:imeOptions="actionDone"
       />

而且,当编辑文本达到其极限时,键盘仍然允许文本,这使得删除文本变得困难。如何解决这个问题?

共有2个答案

谢财
2023-03-14

您可以尝试以下代码:

android:maxLines="3"
android:minLines="3"
android:gravity="left"
android:maxLength="500"
android:inputType="textMultiLine"
穆锋
2023-03-14
new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

}

@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

}

@Override
public void afterTextChanged(Editable editable) {

}

});

通过重写文本更改侦听器,您可以在ontextchange()中指定最大长度,并在其中添加条件,然后做任何您想做的事情

 类似资料:
  • 我希望当我的edittext为空时,它的高度是40px,也就是说,它只占用一行的空间。当输入文本时,高度会增加。它应该在高度上更像WRAP_CONTENT,但我希望一旦它达到(5*40px)或200px的高度,即5行的空间。它不再增加了。它的行为就好像它的高度是固定的200像素。我如何访问这种类型的高度功能。 请尝试通过提供编程引用而不是 XML 引用来提供帮助。提前致谢...

  • 前面多次提到过vim这个东西,它是linux中必不可少的一个工具。没有它很多工作都无法完成。早期的Unix都是使用的vi作为系统默认的编辑器的。你也许会有疑问,vi与vim有什么区别?可以这样简单理解,vim是vi的升级版。很多linux系统管理员都习惯用vi,那是因为他们接触linux的时候用的就是vi,vim后来才比较流行。所以,无所谓用vi和vim,只要你能达到你想要的目的即可。 在笔者看来

  • 问题内容: 我怎样才能让一个多可编辑的文本里面?支持单行,我们需要在弹出窗口中创建一个多行文本编辑框。 问题答案: 这是很好的环境…

  • 我正在我的聊天屏幕上创建一个类似whatsapp的聊天应用程序,我有一个edittext,用户可以在其中输入他的消息。我想将其高度扩展到最多4行,然后如果文本超过第5行,编辑文本必须向下滚动显示新行。有时它可以工作,但有时编辑文本无法向下滚动。 我已经搜索了很多,并检查了这些属性 但还是不走运我想可能有些渲染问题

  • 我是一个机器人初学者。我陷入了一个问题。我有三,我需要对它们进行验证。当我进行验证时,即使我在运行应用程序时没有输入任何值,EditText 也有一个值。为了检查哪个值是否存在,我使用 打印了这些值。 这是打印在日志中 这些价值观从何而来?请帮我解决这个问题。 提前感谢:)

  • 我正在使用多行EditText视图,它可以在输入中包含webUrl。为此,我使用