android:singleline = true不适用于edittext

时间:2011-08-02 08:32:45

标签: android android-edittext

我想将edittext条目限制为单行,但是当我添加行android:singleline = "true"时,提示消失,输入26个字符后光标将关闭。

这是我的XML代码:

   <EditText                      
            android:background="@drawable/edittxtborder"
            android:id="@+id/reglastname"
            android:singleLine="true"
            android:gravity="center"
            android:hint="@string/reglname"
            android:textSize="12dp" 
   />

6 个答案:

答案 0 :(得分:22)

在edittext xml代码中添加此代码。

android:ellipsize="end"

这将有效。

答案 1 :(得分:3)

使用除inputType以外的属性textMultiLine的值。输入将是单行。不推荐使用属性singleLine

答案 2 :(得分:2)

我检查了你的代码,问题在于android:gravity =“center”。将其更改为android:gravity =“left”,您将能够看到提示。

答案 3 :(得分:0)

您可以使用setMaxLines(int)以编程方式更改行号。

EditText edit_field = new EditText(this);
edit_field.setMaxLines(1);

答案 4 :(得分:0)

您可以通过将其输入类型设置为TYPE_CLASS_TEXT来直接编辑代码中的按钮。这将允许输入所有类型的字符,数字和空格,但不允许输入。所以实际上它会将它限制在一行。

EditText editText = new EditText(this);
editText.setInputType(InputType.TYPE_CLASS_TEXT);

您还应该限制可以输入EditText的最大字符数。这也可以通过使用InputFilter的代码和使用InputFilter调用EditText的setFilters方法来完成。

答案 5 :(得分:0)

请使用

android:maxLines="1"

而不是

android:singleLine="true" due to deprecate