title: How to add progressbar to ActionBarSherlock
body: <p>Is it possible to add progressbar to ActionBarSherlock?
  I need to show and hide it in particular time. But it has to be located inside ActionBarSherlock.</p>
  
  <p>Code of my class. you can see, that I use requestWindowFeature(Window.FEATURE_PROGRESS) but it doesn`t make any difference. The same result. 
  :</p>
  
  <pre><code>public class RecipeActivity extends SherlockActivity {
  
  private String picture;
  private String TAG = "RecipeActivity";
  private ImageView viewPicture;
  private RecipeGeneral recipeGeneral;
  private Recipe recipe;
  private String [] pictures;
  private ArrayList&lt;Step&gt; steps;
  //private ImageView viewStar;
  private DataBaseFactory db;
  private NyamApplication application;
  private TextView viewDescription;
  private TextView userView;
  
  @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      requestWindowFeature(Window.FEATURE_PROGRESS);
      setProgressBarIndeterminateVisibility(true);
  
      try {
          setContentView(R.layout.recipe_page);
  
          getSupportActionBar().setDisplayShowTitleEnabled(false);
          recipeGeneral = (RecipeGeneral)getIntent().getSerializableExtra("Recipe");
          Log.d(TAG, "recipeGeneral = " + recipeGeneral.toString());
          picture = Constants.URL + recipeGeneral.getImg_url();
          Log.d(TAG,"picture : " + picture);
          viewPicture = (ImageView)findViewById(R.id.picture);
          new DownloadImageTask().execute(pictures);
  
          viewDescription = (TextView)findViewById(R.id.recepy_description);
          TextView viewTitle = (TextView)findViewById(R.id.recepy_title);
          TextView ratingView = (TextView)findViewById(R.id.txtTitle3);
          userView = (TextView)findViewById(R.id.author_name);
  
          application = (NyamApplication)getApplication();
          db = application.getDB();
  
          if (getIntent().getBooleanExtra("isFavorites", false) == true) {
              Log.d(TAG, "isFavorites = " + getIntent().getBooleanExtra("isFavorites", false));
  
              viewDescription.setText(((Recipe)recipeGeneral).getDescription());
              viewTitle.setText(recipeGeneral.getTitle());
              Log.d(TAG, "Title = " + recipeGeneral.getTitle());
              ratingView.setText(String.valueOf(recipeGeneral.getFavorites_by()));
              Log.d(TAG, "Rating = " + String.valueOf(recipeGeneral.getFavorites_by()));
              userView.setText(((Recipe)recipeGeneral).getUser());
              Log.d(TAG, "User = " + ((Recipe)recipeGeneral).getUser());
  
  
              steps = db.getStepsByRecipeId(recipeGeneral.getId());
              if (steps != null) {
                  ((Recipe)recipeGeneral).setSteps(steps);
              }
  
          } else {
              Log.d(TAG, "isFavorites = " + getIntent().getBooleanExtra("isFavorites", false));
              Object [] params = new Object[] {this, Constants.URL + recipeGeneral.getPath()+ Constants.JSON};
  
              new AsyncHttpGetRecipe().execute(params);   
              new AsyncHttpGetSteps().execute(params);    
              viewTitle.setText(recipeGeneral.getTitle());
  
              ratingView.setText(recipeGeneral.getFavorites_by());
              Log.d(TAG, "Rating = " + recipeGeneral.getFavorites_by());
  
          }
  
      } catch (Exception e) {
          e.printStackTrace();
      }
  }
  
  
  private class DownloadImageTask extends AsyncTask&lt;String,Void,Bitmap&gt; {
  
      Bitmap  bitmap = null;
  
      @Override
      protected Bitmap doInBackground(String... str) {
          try{   
              InputStream in = new java.net.URL(picture).openStream();
              bitmap = BitmapFactory.decodeStream(new SanInputStream(in));
              //viewPicture.setImageBitmap(bitmap);
          }
          catch(Exception e){
              e.printStackTrace();
          }
          return bitmap;
      }
  
      @Override 
      protected void onPostExecute(Bitmap result) {
          super.onPostExecute(result);
          viewPicture.setBackgroundDrawable(new BitmapDrawable(bitmap));
      }
  }
  
  
  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
      com.actionbarsherlock.view.MenuInflater inflater = getSupportMenuInflater();
      inflater.inflate(R.menu.item_page_menu, (com.actionbarsherlock.view.Menu) menu);
      return super.onCreateOptionsMenu(menu);
  }
  
  public void onClick(View v) {
      switch(v.getId()) {
      case R.id.icon_little3:
          Log.d(TAG,"further");
          if (getIntent().getBooleanExtra("isFavorites", false) == false) {
              if (recipe != null &amp;&amp; steps != null) {
                  recipe.setSteps(steps);
                  db.addRecipeToFavorites(recipe);
              }
          }
      }
  }
  
  
  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
      switch(item.getItemId())  {
      case R.id.menu_further: 
          Log.d(TAG,"In menu_further");
          Intent stepIntent = new Intent(this, StepActivity1.class);
  
          if (getIntent().getBooleanExtra("isFavorites", false) == true) {
              Log.d(TAG,"id: " + recipeGeneral.getId());
              Log.d(TAG,"desc: " + recipeGeneral.getTitle());
              stepIntent.putExtra("Recipe1", recipeGeneral);
          } else {
              Log.d(TAG,"id: " + recipe.getId());
              Log.d(TAG,"desc: " + recipe.getTitle());
              recipe.setSteps(steps);
              stepIntent.putExtra("Recipe1", recipe);
          }
          startActivity(stepIntent);
          return true;
      case R.id.menu_cart: 
          Toast.makeText(this, "Cart", 10000).show();
          return true;
      default:
          return super.onOptionsItemSelected(item);
      }
  
  }
  
  
  class AsyncHttpGetRecipe extends AsyncTask&lt;Object, String, Recipe&gt; {
  
      @Override
      protected  Recipe doInBackground(Object... params) {
          Recipe recipeAsync = null;
          try {
              recipeAsync = ApiFactory.getRecipe((Context)params[0], (String)params[1]);
          } catch (JSONException e) {
              e.printStackTrace();
          } 
          recipe  = recipeAsync;
          return recipeAsync;
      }
  
      @Override
      protected void onPostExecute(Recipe recipeTemp) {
          viewDescription.setText(recipeTemp.getDescription());
          Log.d(TAG, "Description = " + recipeTemp.getDescription());
          userView.setText(recipeTemp.getUser());
          Log.d(TAG, "User = " + recipeTemp.getUser());
  
      }
  }
  
  class AsyncHttpGetSteps extends AsyncTask&lt;Object, String, ArrayList&lt;Step&gt;&gt; {
  
      @Override
      protected  ArrayList&lt;Step&gt; doInBackground(Object... params) {
          ArrayList&lt;Step&gt; stepsAsync = null;
          try {
              stepsAsync = ApiFactory.getSteps((Context)params[0],  (String)params[1]);
          } catch (JSONException e) {
              e.printStackTrace();
          } catch (ParseException e) {
              e.printStackTrace();
          }
          return stepsAsync;
      }
  
      @Override
      protected void onPostExecute(ArrayList&lt;Step&gt; stepsAsync) {
          steps = stepsAsync;
      }
  }
  </code></pre>
  
  <p>}</p>