3

私のレイアウトでは、3つのEditTextに検証条件があります。ソフトキーボードが開いていると、EditTextの下にエラーメッセージが表示されます。隠すと、EditTextはまだレイアウトの上に置かれたエラーメッセージを下に移動します。キーボードが無効のときEditTextエラーが表示されない

私はカスタムのEditTextを使用して、私のレイアウトは、スクロールビューにまだエラーメッセージが編集テキストに降りていないです。

私は3つの編集テキストを持っており、ボタンをクリックするとそれが検証され、すべてが正しいと新しい活動が開かれます。

他の場合、編集テキストのデータが入力されていないと、エラーメッセージが表示されます。これは処理です。

キーボードが表示されるエラーメッセージdisplay.Keyboard get hide edittextはその場所に戻りますが、エラーメッセージはまだレイアウトの先頭です。

+3

より良いヘルプのためにコードをここに表示 – Vickyexpert

+0

私は設定エラーコードを投稿できるようにするには、たくさんのコードが含まれています。 – YBDevi

+0

アプリ全体をここに配置する必要はありません。修正する必要があるコード部分を入力してください。 – Vickyexpert

答えて

2

は、まだ修正されていないバグのようですxmlファイルであなたのスクロールビューに

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

は機能していません。 – YBDevi

+0

EditTextの親としてandroid.support.design.widget.TextInputLayoutがあると思います。 – LvN

+0

スクロールビューの線形レイアウトとレイアウトは親なしです。 <のEditText – 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

と1つはまだ修正されていないバグです。 – LvN

+0

私はアンドロイドに新しいです。 – YBDevi

関連する問題