私はEdittextをクリックした後にエラーラベルを表示する必要があります。 例:アクティビティの開始時に、エラー・ラベルは表示されません。 もちろんedittextはedtFirstNameですが、edtLastNameをクリックしてedtFirstNameを空白のままにするとエラーメッセージが表示されます。 edtLastNameと同じです。私の問題は最初です。edtLastNameのエラーラベルにはすでにエラーラベルが表示されています。 "は空であってはいけません"。フォーカスがedtFirstnameにあるため、アクティビティの開始時にもすでにonFocusChangeが呼び出されています。どうすれば修正できますか?私はアンドロイドのGoogleアカウントを追加することをやりたい!私はそのEdittext(Android)に焦点を当てた後にトリガされるhasFocus
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.content_signup, container, false);
edtFirstName = (EditText) view.findViewById(R.id.edtFirstName);
edtLastName = (EditText) view.findViewById(R.id.edtLastName);
tilFName = (TextInputLayout) view.findViewById(R.id.tilFName);
tilLName = (TextInputLayout) view.findViewById(R.id.tilLName);
edtFirstName.setOnFocusChangeListener(this);
edtLastName.setOnFocusChangeListener(this);
その後、
@Override
public void onFocusChange(View v, boolean hasFocus) {
boolean flag = false;
// First Name
if (!edtFirstName.hasFocus())
{
if (edtFirstName.getText().toString().isEmpty())
{
tilFName.setError("Must not be empty.");
}
else
{
tilFName.setError(null);
}
}
if (!edtLastName.hasFocus()) // this is triggered at the start of the activity.
{
if (edtLastName.getText().toString().isEmpty())
{
tilLName.setError("Must not be empty.");
}
else
{
tilLName.setError(null);
}
}
のLostFocusのための適切なコードはありますか?
edittextをクリックした後にonFocusChangeを呼び出す必要があります(例:edtLNameをクリックします。別のedittextをクリックします。つまり、onFocusChangeをトリガし、edtLNameが空であってはならないというエラーメッセージを表示します)。まだ、edtLNameをタップしていませんが、まだエラーメッセージを表示しています。 –