Android Studio - 软键盘'Enter'使文字消失

时间:2015-10-06 13:24:25

标签: android

当我使用我的应用程序在编辑视图中输入文本时,当我单击软键盘上的Enter按钮时,输入的文本正在消失。理想情况下,我希望应用程序在用户单击按钮时转到下一个edittext框,就像在不同的表单上一样,但是按钮的XML是相同的,因此不确定为什么会有差异

要尝试让enter按钮移动到下一个编辑文本,我尝试将以下内容输入到XML中但到目前为止没有运气

android:imeOpions="actionNext";

要求控制的XML

<EditText
            android:layout_width="0dp"
            android:layout_height="40dp"
            android:id="@+id/text_name"
            android:layout_weight="1"
            android:visibility="invisible"
            />

评论:删除上面的行,因为无法正常工作

1 个答案:

答案 0 :(得分:1)

我创建了一个简单布局的基本活动(如下所示)。当我在编辑文本中按Enter键时,它将转到下一个编辑文本。

我添加了你提到的代码

(android:imeOpions="actionNext";) 

但我还必须补充:

<击> android:singleLine="true"

编辑:不推荐使用singleLine。 您只需添加

即可
android:inputType="text"

到您的editText。

这对我有用。我认为这条线消失的原因是因为它正在向上移动并超出了textview的范围。 EditText认为您想要创建一个新行。这是我的猜测。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:tools="http://schemas.android.com/tools"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical"
              android:paddingBottom="@dimen/activity_vertical_margin"
              android:paddingLeft="@dimen/activity_horizontal_margin"
              android:paddingRight="@dimen/activity_horizontal_margin"
              android:paddingTop="@dimen/activity_vertical_margin"
              tools:context="com.slipperyslope.aperturelabs.nextfield.NextEditTextActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Example"/>


    <!-- This way works!-->
    <EditText
        android:id="@+id/first_edittext"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:inputType="text"
        />

    <!-- This way works! But it's deprecated-->
    <EditText
        android:id="@+id/second_edittext"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:imeOptions="actionNext"
        android:singleLine="true"
        />

    <!-- dummy edit text just to transition to. -->
    <EditText
        android:id="@+id/third_edittext"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        />
</LinearLayout>

请告诉我这是否有效或者您是否还有问题。