私は を実行してOnFocusListener
おり、2 つの EditText フィールドを作成しており、次のテキスト フィールドのいずれかがクリックされたときにトースト メッセージを表示したいと考えていました。
- ユーザー名
- パスワード
私の実装:
mUsername = (EditText) findViewById(R.id.usernameEdit);
mPassword = (EditText) findViewById(R.id.passwordEdit);
mUsername.setOnFocusChangeListener(new OnFocusChangeListener(){
@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "Username is on focus", T
Toast.LENGTH_SHORT).show();
}
});
mPassword.setOnFocusChangeListener(new OnFocusChangeListener(){
@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "Password is on focus",
Toast.LENGTH_SHORT).show();
}
});
ただし、アプリが自動的にユーザー名で起動されるonFocus
と、Toast メッセージのユーザー名がフォーカスされていることが表示されます。パスワードをクリックすると、最初にユーザー名メッセージが表示され、次にパスワードメッセージが表示されます。ユーザー名フィールドをクリックして戻すと、最初にパスワード メッセージが表示され、次にユーザー名メッセージが表示されます。ここでロジックを間違って実装した可能性がありますが、見つけることができませんでした。誰でも私を助けてください。
ありがとうございました。