我有一个EditText,但我只想要一行。我把石灰这个
<item name="android:maxLines">1</item>
<item name="android:minLines">1</item>
<item name="android:lines">1</item>
但不起作用。
请参阅我的代码:
<LinearLayout style="@style/linearInputEntryText">
<LinearLayout style="@style/subLinearLayout">
<TextView style="@style/label" android:text="Last Name" android:id="@+id/textView2"/>
<EditText style="@style/editTextEntryName" android:id="@+id/lastName"/>
</LinearLayout>
<View style="@style/linearInputEntryBlack" > </View>
</LinearLayout>
和样式:
<style name="editTextEntryName" parent="editTextEntry">
<item name="android:maxLines">1</item>
<item name="android:minLines">1</item>
<item name="android:lines">1</item>
<item name="android:layout_gravity">left</item>
</style>
答案 0 :(得分:19)
由于Android版本不同,最佳做法是同时包含这些参数:
<item name="android:maxLines">1</item>
<item name="android:lines">1</item>
<item name="android:singleLine">true</item>
如果不这样做,它将无法在某些设备上正常工作。
答案 1 :(得分:16)
请使用
android:singleLine="true"
而不是
<item name="android:maxLines">1</item>
<item name="android:minLines">1</item>
<item name="android:lines">1</item>
该单一属性足以让您的EditText只接受一行文本并禁用输入按钮。
<强>更新强>
不要担心这条评论,
android:singleLine已被弃用,这不是一个好用的做法
这种归属是官方支持的,不会以任何可能的方式弃用。并且还保证这适用于所有设备和所有Android版本。
答案 2 :(得分:16)
机器人:MAXLINES = “1” 允许文本为多行,但限制edittext的高度以显示单行。
如果要禁用enter(换行)键,请将输入类型设置为文本
android:inputType="text"
答案 3 :(得分:3)
您可以使用
<EditText
......
android:imeOptions="actionNext" OR "actionDone" />
答案 4 :(得分:2)
使用android:singleLine=true
代替android:maxLines=1
请阅读有关singleLine的信息
http://developer.android.com/reference/android/widget/TextView.html#attr_android:singleLine
答案 5 :(得分:1)
使用android:singleLine="true"
属性
<EditText
......
android:singleLine="true"
android:id="@+id/lastName"/>
答案 6 :(得分:0)
或者如果你想使用java,你可以这样做:
edittext1.setSingleLine();
答案 7 :(得分:0)
您可以将输入类型设置为textEmailSubject。 我领导同样的问题并解决它!
答案 8 :(得分:0)
这对我有用,
通过在onCreateView中为editText设置onKeyListener-
editText.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
return (keyCode == KeyEvent.KEYCODE_ENTER);
}
});
编辑:如果您使用的是Android默认键盘,则此操作可能无效
答案 9 :(得分:0)
使用xml属性
<EditText
......
android:inputType="text" />