2017-12-31 64 views
0

以外に、私のViewPagerのレイアウトのスニペットが必要な場合があります。おそらく、onClick

<android.support.design.widget.TextInputLayout 
     android:layout_width="286dp" 
     android:layout_height="wrap_content" 
     android:id="@+id/textInputLayout2" 
     android:layout_marginTop="15dp" 
     android:weightSum="1"> 

     <EditText 
      android:id="@+id/email" 
      android:layout_marginTop="30dp" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:hint="@string/hint_email" 
      android:inputType="textEmailAddress" 
      android:singleLine="true" 
      android:textColor="@android:color/white"/> 

    </android.support.design.widget.TextInputLayout> 

    <android.support.design.widget.TextInputLayout 
     android:layout_width="286dp" 
     android:layout_height="wrap_content" 
     android:id="@+id/textInputLayout" 
     android:layout_marginTop="15dp" 
     android:weightSum="1"> 

     <EditText 
      android:id="@+id/password" 
      android:layout_marginTop="30dp" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:hint="@string/hint_password" 
      android:inputType="textPassword" 
      android:singleLine="true" 
      android:textColor="@android:color/white" 
      android:onClick="layoutBuilt"/> 

    </android.support.design.widget.TextInputLayout> 

そしてここlayoutBuildボイドです:

public void layoutBuilt(View view) { 
     inputEmail = (EditText) findViewById(R.id.email); 
     inputPassword = (EditText) findViewById(R.id.password); 
     inputPassword.setOnEditorActionListener(new TextView.OnEditorActionListener() { 
      public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
       if (actionId == EditorInfo.IME_ACTION_DONE) { 
        //ACTION DONE 
       } 
       return false; 
      } 
     }); 
} 

だから私の問題は、ユーザーはそれが動作することを、完了ボタンで2回クリックしなければならないこと、です。

注:passowordEditTextを手動でクリックし、完了をクリックすると機能します。自分のEmailでEmailEditTextタイプをクリックして、Nextをクリックすると、passowordEditTextが自動的に選択されます。パスワードを入力して[完了]をクリックします。それは仕事をしません。

なぜ、どのように修正するのですか? ありがとうございます。

答えて

0

私は自分で問題を解決しました。

@ ADMに感謝します。ビューがAndroidによって呼び出されると、onClickは最初に呼び出されません。だから私は新しいレイアウトが既に作成されているinstantiateItemのViewPageAdapterからlayoutBuiltを呼び出します。

すべての人に感謝します。

+1

「ありがとう」と書いていない、プラス1のADMに感謝します。あなたはこれを行うことで、より豊かになることはありません - 逆に、あなたはより豊かな認識を得ることができます。優しさは優しさを高めます。明けましておめでとうございます。 StackOverflowへようこそ。 – statosdotcom

0

android:imeOptionsを `EditTextの両方に設定してください。

<android.support.design.widget.TextInputLayout 
    android:layout_width="286dp" 
    android:layout_height="wrap_content" 
    android:id="@+id/textInputLayout2" 
    android:layout_marginTop="15dp" 
    android:weightSum="1"> 

    <EditText 
     android:id="@+id/email" 
     android:layout_marginTop="30dp" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:hint="@string/hint_email" 
     android:inputType="textEmailAddress" 
     android:singleLine="true" 
     android:imeOptions="actionNext" 
     android:textColor="@android:color/white"/> 

</android.support.design.widget.TextInputLayout> 

<android.support.design.widget.TextInputLayout 
    android:layout_width="286dp" 
    android:layout_height="wrap_content" 
    android:id="@+id/textInputLayout" 
    android:layout_marginTop="15dp" 
    android:weightSum="1"> 

    <EditText 
     android:id="@+id/password" 
     android:layout_marginTop="30dp" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:hint="@string/hint_password" 
     android:inputType="textPassword" 
     android:imeOptions="actionDone" 
     android:singleLine="true" 
     android:textColor="@android:color/white" 
     android:onClick="layoutBuilt"/> 

</android.support.design.widget.TextInputLayout> 
+0

@marcelo質問を誤解した場合は、私を修正してください。 Thx – ADM

関連する問題