2017-09-04 10 views
0

私のアプリケーションでは、Custum Dialog(android.app.Dialog)を使って3つのテキストを編集しています。 SoftKeyboardの次のボタンを押すと、最初のEditTextから2番目のEditTextに次のフォーカスを設定できますが、3番目のEditTextにフォーカスを当てることはできません。私はすでにnextFocusForwardやnextFocusDownなどを設定しようとしましたが、それでも動作しません。ここでカスタムダイアログの最後のedittextに焦点を当てていません

は私のカスタムダイアログからXMLレイアウトです:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:fillViewport="true"> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical"> 

    <ImageView 
     android:id="@+id/addcard_image" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_margin="16dp" 
     android:adjustViewBounds="true" 
     android:scaleType="fitCenter" 
     android:src="@drawable/dialog_addcard_info" /> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 

     <EditText 
      android:id="@+id/addcard_name" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="16dp" 
      android:layout_marginRight="16dp" 
      android:hint="@string/name" 
      android:inputType="text" 
      android:lines="1" 
      android:maxLines="1" 
      android:scrollHorizontally="true" /> 

     <EditText 
      android:id="@+id/addcard_number" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="16dp" 
      android:layout_marginRight="16dp" 
      android:layout_marginTop="8dp" 
      android:hint="@string/number" 
      android:inputType="number" 
      android:maxLength="16" 
      android:scrollHorizontally="true"/> 

     <EditText 
      android:id="@+id/addcard_pin" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="16dp" 
      android:layout_marginRight="16dp" 
      android:layout_marginTop="8dp" 
      android:hint="@string/pin" 
      android:inputType="numberPassword" 
      android:maxLength="4" 
      android:textSize="14sp" 
      android:scrollHorizontally="true"/> 
    </LinearLayout> 


    <TextView 
     android:id="@+id/addcard_errormessage" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="25dp" 
     android:paddingLeft="16dp" 
     android:paddingRight="16dp" 
     android:text="@string/error" 
     android:textColor="#ff0000" 
     android:textStyle="bold" 
     android:visibility="gone" /> 

    <Button 
     android:id="@+id/addcard_verify" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_margin="16dp" 
     android:text="@string/verify" /> 
</LinearLayout> 

誰もが、私は第三のEditTextにフォーカスを設定することはできないんだけど、なぜアイデアを持っていますか? ありがとうございます。

+1

'アンドロイドの追加:のEditTextがすべき最初の二つにimeOptionsは= "actionNextを"'。あなたが探しているものは[こちら](https://developer.android.com/reference/android/widget/attext_ja.html#attr_android:imeOptions)です。 –

答えて

0

は、あなたのコード内でこれを試してみてください:)

<EditText 
    android:id="@+id/addcard_number" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="16dp" 
    android:layout_marginRight="16dp" 
    android:layout_marginTop="8dp" 
    android:hint="@string/number" 
    android:inputType="number" 
    android:maxLength="16" 
    android:imeOptions="actionNext" // try this one 
    android:nextFocusDown="@+id/addcard_errormessage" // and add this one 
    android:scrollHorizontally="true"/> 
+1

imeOptionsを追加するだけでトリックを行いました.G.Datorに感謝しましたとSakchham Sharma – Distra

+0

ようこそ。 –

関連する問題