android singleline与maxLines

我认为singleLine="true"相当于maxLines="1"但是我看到Android Studio中的以下预填充字段同时具有这两个字段。 有区别吗? 是否有一个已知的错误,导致两者都需要?

 <EditTextPreference android:key="example_text" android:title="@string/pref_title_display_name" android:defaultValue="@string/pref_default_display_name" android:selectAllOnFocus="true" android:inputType="textCapWords" android:capitalize="words" android:singleLine="true" android:maxLines="1" /> 

这是来自pref_general.xml文件。

Solutions Collecting From Web of "android singleline与maxLines"

从Android网站:

singleLine :

将文本约束为单个水平滚动线,而不是让它包装到多行上,并在按下回车键时提前聚焦而不是插入换行符。 对于不可编辑的文本,默认值为false(多行封装文本模式),但是如果为inputType指定了任何值,则默认值为true(单行input字段模式)。

必须是一个布尔值,“true”或“false”。

maxLines :

使TextView最多只有这么多行。 在可编辑文本上使用时,inputType属性的值必须与textMultiLine标志组合,以应用maxLines属性。

必须是整数值,例如“100”

请注意,singleLine已被弃用,因为应该使用API​​ 3和maxLines。 所以你真正需要的是

 android:maxLines = integer // 1 for single line or add lines multiple as well. 

MAXLINES

在EditText中, maxLines属性设置为特定的值,如5,那么在EditText中只能看到五行文本,而Enter键
input键盘也可见。

单线

在EditText中, singleLine属性被设置为真值,然后只有一行
文本是int EditText以及键盘上的Enter键对于进入我们来说不可见。

谢谢