可能重复:android- singlline -true-not-working-for edittext

<EditText 
    android:id="@+id/searchbox"  
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:lines="1"
    android:scrollHorizontally="true"
    android:ellipsize="end"
    android:layout_weight="1"
    android:layout_marginTop="2dp"
    android:drawablePadding="10dp"
    android:background="@drawable/edittext"
    android:drawableLeft="@drawable/folder_full"
    android:drawableRight="@drawable/search"
    android:paddingLeft="15dp"
    android:hint="search...">
</EditText>

我想使上面的EditText只有单行。即使用户按下“enter”键,光标也不能下到第二行。有人能帮我一下吗?


当前回答

android:imeOptions="actionDone"

为我工作。

其他回答

不建议使用android:singleLine="true"。

只需添加您的输入类型并将maxline设置为1,一切都会正常工作

android:inputType="text"
android:maxLines="1"
android:maxLines="1"
android:inputType="text"

添加上面的代码,使布局中的EditText标记中只有一行。

android:singleLine="true" is deprecated

此常量在API级别3中已弃用。 此属性已弃用。使用maxLines来更改 控件中的textMultiLine标志 inputType属性代替可编辑文本视图(如果两者都是 singleLine和inputType被提供,inputType标志将 重写singleLine的值)。

为了限制你只需要设置单行选项为“真”。

android:singleLine="true"

使用下面的代码而不是你的代码

<EditText 
    android:id="@+id/searchbox"  
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:maxLines="1"
    android:inputType="text"
    android:scrollHorizontally="true"
    android:ellipsize="end"
    android:layout_weight="1"
    android:layout_marginTop="2dp"
    android:drawablePadding="10dp"
    android:background="@drawable/edittext"
    android:drawableLeft="@drawable/folder_full"
    android:drawableRight="@drawable/search"
    android:paddingLeft="15dp"
    android:hint="search..."/>

同样重要的是要注意属性android:inputType是否为textMultiLine。如果是这样,属性android:singleLine, android:imeOptions, android:ellipsize和android maxLines将被忽略,你的EditText将接受MultiLines无论如何。