Android Next和Done Buttons

时间:2014-11-05 22:30:36

标签: android textview

我正在尝试使用两个文本视图的下一步和完成按钮来正常运行。文本字段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

2 个答案:

答案 0 :(得分:4)

如果我明白你想要什么,这可以很容易地完成,但我不确定:如果你想快速移动到下一个文本字段,Android提供 imeOptions :Enter键键盘将更改为箭头以使用android:imeOptions="actionNext"移动到下一个文本字段,或转到&#34; Go&#34;按钮,当它是最后一个用android:imeOptions =&#34; actionGo&#34;或android:imeOptions="actionDone"。因此,您不需要在应用中添加下一个按钮。 有关mor信息,请参阅文档的此页面 https://developer.android.com/training/keyboard-input/style.html

答案 1 :(得分:1)

使用android:imeOptions和android:imeActionId来做到这一点。阅读available options