現在、2つの編集テキストがあります。空の編集テキストチェックの検証を行いたいとします。実行時検証のより良い方法は何ですか。
私のコードは;
final EditText ev1 = (EditText) findViewById(R.id.editText1);
final EditText ev2 = (EditText) findViewById(R.id.editText2);
ev1.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View rv, boolean hasFocus) {
if(!hasFocus && ev1.getText().length()==0)
{
ev1.requestFocus();
ev2.clearFocus();
}
}
});
この2番目のeditTextのクリックでは、First Edittextが空の場合、2番目のEditTextのフォーカスがクリアされますが、キーボード入力は常にSecond Textで行われ、FirstTextでフォーカスを取得することはできません。
このeditTextも動的に追加される可能性があるため、EditTextごとに異なるフォーカスリスナーを提案しないでください。
より明確に:フォーカスを失う前にev1を検証するだけで、文字が入力されるまで他のビューがフォーカスを取得できないようにします。