2017-12-31 56 views
0

이 필요합니다. 사용자가 작동하는지, 완료 버튼을 두 번 클릭해야,아마도 내 ClickPager의 레이아웃 중 하나에서 onClick

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; 
      } 
     }); 
} 

그래서 내 문제는 여기

<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의 무효입니다.

참고 : passowordEditText를 수동으로 클릭하고 완료를 클릭 할 때 작동합니다. 내 이메일에서 EmailEditText 유형을 클릭하고 다음을 클릭하면 passowordEditText가 자동으로 선택됩니다. 그리고 암호를 입력하고 완료를 클릭하십시오. 그 doesnt 일.

왜, 어떻게 고쳐야합니까? 미리 감사드립니다.

답변

0

그래서 저는 혼자서 문제를 해결했습니다.

@ ADM 덕분에. Android에서 직접 View를 호출하면 onClick이 먼저 호출되지 않습니다. 그래서 새로운 레이아웃이 이미 생성 된 instantiateItem의 ViewPageAdapter에서 layoutBuilt를 호출합니다.

하지만 모두에게 감사드립니다.

+1

"감사합니다"라고 쓰지 않고 ADM에 +1을 해주셔서 감사드립니다. 당신은 이것을하기에 더 부유 해지지 않을 것입니다 - 반대로, 당신은 인식의 부자가됩니다. 친절 함으로 친절 함이 높아집니다. 새해 복 많이 받으세요. 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

관련 문제