【问题标题】:Creating multiline Edit view in android with coding使用编码在android中创建多行编辑视图
【发布时间】:2012-06-25 09:57:45
【问题描述】:

我已经动态创建了一个EditText 对象,但我无法创建一个多行EditText。我试过这个:

EditText et1 = new EditText(this);
et1.setHint("Enter Your Address");
et1.setSingleLine(false);
et1.setHorizontalScrollBarEnabled(false);
et1.setInputType(android.text.InputType.TYPE_TEXT_VARIATION_POSTAL_ADDRESS);
et1.setLines(7);

谢谢。

【问题讨论】:

    标签: android android-edittext helper street-address


    【解决方案1】:

    将其包含在您的代码中:

        et1.setMaxLines(maxlines);
    

    或者你可以设置编辑文本的具体高度。

    【讨论】:

    • 如果你注释掉这行代码它工作正常:et1.setInputType(android.text.InputType.TYPE_TEXT_VARIATION_POSTAL_ADDRESS);
    【解决方案2】:

    如果您希望文本换行到下一行,请将 TYPE_CLASS_TEXT 添加到 MULTI_LINE 标志:

    textArea.setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_FLAG_MULTI_LINE);
    

    【讨论】:

    • 这就是我所缺少的
    【解决方案3】:

    这是行:

    et1.setInputType(android.text.InputType.TYPE_TEXT_VARIATION_POSTAL_ADDRESS);
    

    这就是问题所在。把它拿出来。

    setMaxLines 无关紧要,除非您想设置最大行数。您还应该避免将高度设置为特定的值。 WRAP_CONTENT 效果很好。

    甚至改成:

    et1.setInputType(android.text.InputType.TYPE_TEXT_FLAG_MULTI_LINE);
    

    强制它进行单行编辑,这看起来很奇怪。
    这也不起作用:

    et1.setInputType(android.text.InputType.TYPE_TEXT_FLAG_CAP_SENTENCES);
    

    这真的很烦人。好像是安卓的bug...

    您可能还需要设置垂直滚动和重力,以便它可以上下滚动并从左上角开始。

    et1.setGravity(Gravity.TOP|Gravity.LEFT);
    et1.setVerticalScrollBarEnabled(true);
    

    【讨论】:

      【解决方案4】:

      对我有用的是:

      et1.setSingleLine(false);
      et1.setHorizontalScrollBarEnabled(false);
      et1.setVerticalScrollBarEnabled(true);
      et1.setMinLines(minLines);    
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-14
        • 2020-08-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多