0

ユーザー名、パスワード、ボタン「ログイン」ボタンの2つのテキストフィールドを持つログインページがあります。ユーザー名またはパスワードが入力されていないという警告が表示されるとき、このログイン ボタンを突然クリックすると、2 回以上のクリックが行われるため、2 つの警告が表示されます。ボタンを無効にして、次のクリック時に有効にする必要があります。私は何をすべきか?

4

3 に答える 3

1

ボタンを無効にするには、呼び出す必要があります

yourButton.setEnabled(false)

Button インスタンスで。再度有効にするには、次のように呼び出します。

yourButton.setEnabled(true)
于 2013-02-19T13:07:45.600 に答える
0

あなたは黒帯の解決策を私のものと組み合わせることができます。

にを追加し、テキストがに入力されたときにボタンを有効または無効TextWatcherにします。EditTextEditText

@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {

    charCount = Integer.valueOf(s.length());

    if (charCount > 0)  {           
        // ENABLE THE BUTTON
        boolean blnButtonStatus = YOUR_BUTTON.isEnabled();
        if (blnButtonStatus== false)    {
            YOUR_BUTTON.setEnabled(true);
        }

    } else if (charCount == 0)  {
        // DISABLE THE BUTTON
        YOUR_BUTTON.setEnabled(false);
    }
}

@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
    // DO NOTHING HERE
}

@Override
public void afterTextChanged(Editable s) {
    // DO NOTHING HERE
}

このように、[パスワード]フィールドや[ユーザー名]フィールドに何も入力されていない場合、コードはボタンを自動的に無効にします。偶発的なクリックはありません。

于 2013-02-19T13:14:27.007 に答える
0

以下のようにメソッドを作成します

    boolean checkit= true;
private void showHide1() {

    if (checkit) {

    // first click
    } else {
    // second click
    }
    checkit= !checkit;
}

ボタンをクリックすると、メソッド showHide1(); が追加されます。

于 2013-02-19T13:10:52.737 に答える