3

제 레이아웃에서 유효성 검사 조건으로 3 개의 EditText가 있습니다. 소프트 키보드가 열리면 EditText 아래에 오류 메시지가 표시됩니다. 숨김 상태가되면 EditText는 레이아웃의 맨 위에 배치 된 오류 메시지를 아래로 이동합니다. 키보드가 비활성화되어있을 때 EditText 오류가 다운되지 않습니다

나는 사용자 정의 글고을 사용하고 내 레이아웃은 스크롤 뷰에 여전히 오류 메시지입니다 편집 텍스트로 내려 없습니다.

나는 3 개의 편집 텍스트를 가지고 있으며 버튼을 클릭하면 유효성을 검사하고 모든 것이 정확하면 새로운 활동이 열립니다.

기타 편집 텍스트의 데이터가 입력되지 않으면 오류 메시지가 표시됩니다. 프로세스입니다.

키보드가 표시 될 때 오류 메시지가 표시됩니다. 키보드 숨기기 edittext는 다시 배치되지만 오류 메시지는 여전히 레이아웃의 맨 위에 표시됩니다. XML 파일에 스크롤 뷰이주는

+3

더 나은 도움을 위해 여기에 코드를 표시하십시오. – Vickyexpert

+0

내가 설정 한 오류 코드를 게시하려면 코드가 많이 포함되어 있습니다. – YBDevi

+0

여기에 전체 앱을 넣을 필요가 없습니다. 수정해야 할 코드 부분을 넣으십시오. – Vickyexpert

답변

2

봅니다

app:layout_behavior="@string/appbar_scrolling_view_behavior" 
+0

작동하지 않습니다. – YBDevi

+0

EditText의 부모로 android.support.design.widget.TextInputLayout을 가지고 있다고 생각합니다. – LvN

+0

부모가없는 것은 선형 레이아웃이며 scrollview의 레이아웃입니다. <글고 – YBDevi

1

은 아직 해결되지 않은 버그를 것으로 보인다. 그러나 EditText 클래스 (즉 사용자 정의 클래스)를 서브 클래 싱하고 콜백 메소드 onKeyPreIme을 구현하여이 문제를 해결할 수 있습니다. 사용자가 소프트 키보드를 일축 때마다 onKeyPreIme을 구현함으로써, 당신은 통지 할 수 Android: Error popup on EditText doesn't move down when keyboard goes away

참고 :

public boolean onKeyPreIme(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP) { 
     // User dismissed the keyboard, so hide and re-show the error message 
     revalidateEditText(); 
     return false; 
    } 

    return super.dispatchKeyEvent(event); 
} 

public void revalidateEditText(){ 
     // Dismiss your original error dialog   
     setError(null); 

     // Validate the content and re-show the error message if needed 
     validate(); 
} 

은에서 파생.

+0

버튼을 클릭하면이 코드를 작성해야합니다. – YBDevi

+0

하나 더하기 아직 해결되지 않은 버그입니다. – LvN

+0

나는 안드로이드를 처음 사용하고 있습니다. – YBDevi

관련 문제