2015-10-06 129 views
0

當我使用我的應用程序將文本輸入到編輯視圖中時,當我單擊軟鍵盤上的Enter按鈕時,輸入的文本正在消失。理想情況下,我希望應用程序在用戶單擊按鈕時轉到下一個編輯文本框,因爲它在不同的表單上執行操作,但是XML對於按鈕來說是相同的,因此不確定爲什麼存在差異Android Studio - 軟鍵盤'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

分享此控件的完整xml – Skynet

+0

@Skynet完成,見上面 – Sjharrison

回答

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> 

讓我知道這是否工作,或如果你仍然有問題。

+0

您的權利!它並沒有消失它只是從視圖 而是加入'android:inputType =「text」'確實改變了輸入按鈕,以便它移動到下一個edittext字段。有點奇怪,我不需要那個在以前的形式,錯誤報告到Android我猜 – Sjharrison

+0

很高興我能幫忙! – Caleb