防止 EditText 在点击“空格”时转到新行

Zub*_*nas 4 android android-layout android-edittext

我想要一个多行的 EditText,并且句子的第一个字母是大写的。我在用着:

<EditText
        android:id="@+id/editText2"
        android:layout_width="300dp"
        android:layout_height="150dp"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="32dp"
        android:layout_marginTop="67dp"
        android:background="#ddebed"
        android:ems="10"
        android:inputType="textMultiLine|textCapSentences"
        android:singleLine="false"
        android:text="@string/same" />
Run Code Online (Sandbox Code Playgroud)

我可以同时实现:MultiLine 和 CapSentences。但是,当我在一个单词后按“空格键”时,它会转到一个新行。 我该如何预防?

android:text="@string/same"的是<string name="same">\n \n \n Regards: Principal</string> 所以,问题是由\n引起的。 我想要一个 EditText,它在下一行中已经输入了一些文本,并允许用户在前 'n' 行中输入一些文本。

Fro*_*and 5

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

您的编辑文本应如下所示。

<EditText
        android:id="@+id/editText2"
        android:layout_width="300dp"
        android:layout_height="150dp"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="32dp"
        android:layout_marginTop="67dp"
        android:background="#ddebed"
        android:ems="10"
        android:maxLines="1"
        android:inputType="text|textCapSentences"
        android:text="@string/same" />
Run Code Online (Sandbox Code Playgroud)

或者

如果您正在寻找多行,您可以将编辑文本编辑为

android:inputType="text|textMultiLine|textCapSentences"
Run Code Online (Sandbox Code Playgroud)

同样你可以增加android:maxLines="2"

我已经查过了。您可以使用上面的代码并进行以下一些修改。

EditText editText = (EditText)findViewById(R.id.editText2);
editText.setSelection(0);
Run Code Online (Sandbox Code Playgroud)

它将把你的光标移动到位置 0。同时尝试增加 maxlines 值。我已经检查过了,工作正常。