Search code examples
androidandroid-progressbarandroid-support-libraryandroid-actionbar-compatandroid-actionbaractivity

Show/Hide ProgresBar in ActionBar on android API lower than 11


I want to show/hide ProgressBar in ActionBar on all android devices. I am using android support library (android-support-v7-appcompat).

My activity extends ActionBarActivity and in onCreate it requests window feature supportRequestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); (before setting content).

On my button click I show/hide ProgressBar.

public void onClick(View v) {
    if(v.getId() == R.id.buttonProgress) {

        if(progress) {
            setProgressBarIndeterminateVisibility(false);
            progress = false;
        } else {
            setProgressBarIndeterminateVisibility(true);
            progress = true;
        }

    }
}

This code works fine on android API higher than 11. But I have proglem with API lower than 11. The ProgressBar is not showing up. There is no error in LogCat.

I have noticed that when I show ProgressBar in onCreate it works. I also can hide it from onCreate.

Do you have solution for this problem?

Thank you!


Solution

  • call

    setSupportProgressBarIndeterminateVisibility(true)
    

    if call it from fragment cast the activity for example:

    ActionBarActivity ac =(ActionBarActivity) getActivity();
    ac.setSupportProgressBarIndeterminateVisibility(true);