0

If I call method in onClick() one time it works, but if I call it twice time in the onClick() method it doesn't work.

private void changeVisible() {

        if(progressBar.getVisibility() == View.VISIBLE && loginButton.getVisibility() == View.GONE) {
            progressBar.setVisibility(View.GONE);
            loginButton.setVisibility(View.VISIBLE);
            //Toast.makeText(this, "Button visible", Toast.LENGTH_LONG).show();
        }
        else {
            progressBar.setVisibility(View.VISIBLE);
            loginButton.setVisibility(View.GONE);
            //Toast.makeText(this, "Button invisible", Toast.LENGTH_LONG).show();
        }
    }

Use case:

@Override
public void onClick(View v) {
    if (v.getId() == R.id.loginButton) {
        changeVisible();
        ...
        try {
            ...
            if(...) {
                ...
            }
            else {
                ...
                changeVisible();
            }
        }
        catch(Exception e) {
            ...
            changeVisible();
        }
    }
}

Please help.

SBrx
  • 1
  • 2
  • Resolved. http://stackoverflow.com/questions/13090630/android-view-set-to-visible-and-gone-in-the-same-onclick-method-view-never-show – SBrx Sep 27 '15 at 18:20

1 Answers1

0

Declare Views first Globbaly

 Progressbar pb;
  Button button;

In you onCreate()

    pb=(ProgressBar) findViewById(R.id.progressBar))
  button = (Button) findViewById(R.id.loginButton);

Method

 private void changeVisible() {
        if(pb.getVisibility()==View.VISIBLE && button.getVisiblity()==View.GONE)
        {
        pb.setVisibility(View.GONE);
        button.setVisibility(View.VISIBLE);
        }
        else
        {
        pb.setVisibility(View.VISIBLE);
        button.setVisibility(View.GONE)
        }
    }
Rajan Kali
  • 12,627
  • 3
  • 25
  • 37