0

私はサインアップ画面のためにこれをやっています。メール、生年月日、パスワードの 3 つのフィールドがあります。生年月日編集テキストで、生年月日ピッカーダイアログを表示しています。ユーザーが入力して生年月日を更新できるようにしたくありません。そのため、フォーカス可能を「false」、クリック可能を「true」にしました。

    <LinearLayout
        android:id="@+id/signup_layout"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@drawable/bg"
        android:orientation="vertical" >

        <EditText
            android:id="@+id/email"
            style="@style/big_centered_textfield_style"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:background="@drawable/rounded"
            android:hint="Email address 320"
            android:inputType="textEmailAddress"
            android:maxLines="1"
            android:paddingBottom="5dp"
            android:paddingLeft="5dp"
            android:paddingRight="5dp"
            android:paddingTop="5dp"
            android:textSize="@dimen/normal_font" >

            <requestFocus />
        </EditText>

        <EditText
            android:id="@+id/birthdate"
            style="@style/big_centered_textfield_style"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:background="@drawable/rounded"
            android:clickable="true"
            android:focusable="false"
            android:hint="@string/birthdate"
            android:inputType="date"
            android:maxLines="1"
            android:onClick="birthdateClicked"
            android:paddingBottom="5dp"
            android:paddingLeft="5dp"
            android:paddingRight="5dp"
            android:paddingTop="5dp"
            android:textSize="@dimen/normal_font" >
        </EditText>

        <EditText
            android:id="@+id/password"
            style="@style/big_centered_textfield_style"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:background="@drawable/rounded"
            android:hint="@string/password"
            android:inputType="textPassword"
            android:maxLines="1"
            android:paddingBottom="5dp"
            android:paddingLeft="5dp"
            android:paddingRight="5dp"
            android:paddingTop="5dp"
            android:textSize="@dimen/normal_font" >
        </EditText>

    </LinearLayout>

しかし、ユーザーが電子メール編集テキストで「次へ」を押すと、最後のパスワードに直接移動します。2 番目のテキスト フィールドをスキップします。

シナリオで何をすべきか?

4

2 に答える 2

0

これを実現するには、xml タグandroid:nextFocusDown="@id/yourNextElementID"を使用できます。

あなたの場合、次のようなものが機能するemail EditTextはずです:

android:nextFocusDown="@+id/birthdate"

それについては、Android のドキュメントを確認してください。

編集:

機能する可能性のある別の解決策は、プログラムで行うことです。オブジェクトが作成され、オブジェクトへの呼び出しonClickが正しく行われることを確認できます。

yourEmailEditText.setNextFocusDownId(R.id.birthdate); 
于 2014-05-21T09:22:35.340 に答える