【问题标题】:EditText attributes programmatically - text won't wrap以编程方式编辑文本属性 - 文本不会换行
【发布时间】:2013-09-06 16:35:53
【问题描述】:

我的以下 EditText 按预期工作。

        <EditText
                android:id="@+id/etMensagem"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="@string/hint_message"
                android:minLines="4"
                android:text="@string/send"
                android:inputType="textCapSentences|textMultiLine"/>

但需要以编程方式设置属性(除了 layout_width 和 height)。

这是我的尝试:

    edit_text.setText(context.getString(R.string.enviar_mensagem));
    edit_text.setMinLines(4);
    edit_text.setHint(context.getString(R.string.hint_message));
    edit_text.setInputType(InputType.TYPE_TEXT_FLAG_CAP_SENTENCES | InputType.TYPE_TEXT_FLAG_MULTI_LINE);

但是当我这样做时,文本不会换行。尽管它是一个多行 EditText,但与 XML 版本不同,它将文本保留在一行上。

我错过了什么?

【问题讨论】:

  • 你用过这个 android:scrollHorizo​​ntally="false"

标签: android


【解决方案1】:

在这里找到答案:https://stackoverflow.com/a/5800511/770467

要以编程方式设置 EditText 的输入类型,您必须 指定输入类类型为文本

最终解决方案:

etMensagem.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_SENTENCES | InputType.TYPE_TEXT_FLAG_MULTI_LINE);

【讨论】:

    【解决方案2】:

    我认为你必须这样做

    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:ellipsize="none"
    android:singleLine="false"
    

    【讨论】:

    • 我没有工作。此外,我需要以编程方式设置它们(问题已更新),无论如何,谢谢。
    猜你喜欢
    • 2012-06-07
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 2014-04-26
    • 2018-07-16
    • 2013-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多