2014-11-05 67 views
-1

我正在嘗試讓兩個文本瀏覽器的下一個和完成按鈕正常工作。文本字段1應該移動到下一個文本字段2,文本字段2應該關閉完成時的鍵盤/編輯視圖。我的XML如下:安卓下一步和完成按鈕

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.myapp.LaunchCam" 
    tools:ignore="MergeRootFrame" > 

    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/autoCompleteTextView2" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="20dp" 
     android:onClick="onCameraClick" 
     android:text="@string/start" /> 

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:src="@drawable/logo_inline_large" android:contentDescription="@string/logo"/> 

     <AutoCompleteTextView 
     android:id="@+id/autoCompleteTextView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="23dp" 
     android:ems="10" 
     android:lines = "1" 
     android:maxLines = "1" 
     android:singleLine = "true" 
     android:hint = "@string/enter_first_team_name" 
     android:nextFocusDown="@+id/autoCompleteTextView2"/> 

    <AutoCompleteTextView 
     android:id="@+id/autoCompleteTextView2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/autoCompleteTextView1" 
     android:layout_below="@+id/autoCompleteTextView1" 
     android:layout_marginTop="19dp" 
     android:ems="10" 
     android:lines = "1" 
     android:maxLines = "1" 
     android:singleLine = "true" 
     android:hint = "@string/enter_second_team_name_optional_" /> 

</RelativeLayout> 

當使用這些按鈕我得到的運行時錯誤

11-05 16:28:11.506: E/View(27606): hasTransientState decremented below 0: unmatched pair of setHasTransientState calls 
+0

使用'android:imeOptions'和'android:imeActionId'來做到這一點。閱讀[可用選項](http://developer.android.com/reference/android/widget/TextView.html#attr_android:ime選項) – 2014-11-05 22:38:10

+0

@AbdallahAlaraby做出答案,我會接受。工作很好。 – steventnorris 2014-11-05 23:20:38

回答

3

如果我明白你想要什麼這可以很容易做到的,但我不知道:如果您想快速移動到下一個文本框,Android提供ime選項:鍵盤的Enter鍵將更改爲箭頭以移至下一個帶有android:imeOptions="actionNext"的文本字段,或者當它是最後一個帶有「Go」按鈕時android:imeOptions =「actionGo」或android:imeOptions="actionDone"。所以你不需要在你的應用中添加下一個按鈕。 查看此頁面的Mor信息文檔 https://developer.android.com/training/keyboard-input/style.html

1

使用android:imeOptions和android:imeActionId來做到這一點。閱讀關於available options