Get View Not binding all the child elements
<p>I am using a <code>Gallery</code> and I bind a <code>ImageView</code>, <code>ImageButton</code> and a <code>ProcessBar</code> to it. There are more than 50 images in the gallery and in the <code>getView()</code> method when took the <code>ViewGroup.getChildCount()</code>. It returns only an int value of 3.</p>

<p>Why the <code>ViewGroup.getChildCount()</code> returns 3 even if I scroll all the images are there.</p>

<p>So I am getting error in the method :</p>

<pre><code>ViewGroup.getChildAt(position).findViewById(R.id.progressbar_Horizontal).setVisibility(View.VISIBLE);
</code></pre>

<p>Main Activity</p>

<pre><code>public class SliderActivity extends Activity {  

     private Integer[] mImageIds = {
                R.drawable.sample_1,
                R.drawable.sample_2,
                R.drawable.sample_3,
                R.drawable.sample_4,
                R.drawable.sample_5,
                R.drawable.sample_6,
                R.drawable.sample_7
        };
    /** Called when the activity is first created. */

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);               

        Gallery gallery = (Gallery) findViewById(R.id.gallery);
        gallery.setAdapter(new ImageAdapter(this,mImageIds));      

    }


}
</code></pre>

<p>ImageAdapter Class :</p>

<pre><code>public class ImageAdapter extends BaseAdapter {

    private int mGalleryItemBackground;
    private Activity mContext;
    private Integer[] Images;
    private int[] ID;
    private ProgressBar process;
    private ImageButton imgBtn;
    private ImageView imageview;


    public ImageAdapter(Activity c,Integer[] images) {
        this.mContext = c;
        this.Images=images;
        TypedArray attr = mContext.obtainStyledAttributes(R.styleable.HelloGal999lery);
        mGalleryItemBackground = attr.getResourceId(
                R.styleable.HelloGal999lery_android_galleryItemBackground, 0);
        attr.recycle();

        ID=new int[getCount()];
    }

    public int getCount() {
        return Images.length;
    }

    public Object getItem(int position) {
        return position;
    }

    public long getItemId(int position) {
        return 1;
    }



    public View getView(final int position, View convertView,final ViewGroup parent) {  


         View rowView = convertView;

        if(rowView==null)
        {

         LayoutInflater inflater = mContext.getLayoutInflater();
         rowView = inflater.inflate(R.layout.test, null, true);

         imageview=(ImageView) rowView.findViewById(R.id.ImageViewuser);    
         imgBtn=(ImageButton)rowView.findViewById(R.id.Download);
         process=(ProgressBar)rowView.findViewById(R.id.progressbar_Horizontal);

         imageview.setImageResource(Images[position]);               
         imageview.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
         imageview.setBackgroundResource(mGalleryItemBackground);        


         if(position==0)
         {
             if(ID[position]==1)
             {
                 imgBtn.setVisibility(View.INVISIBLE);
                 process.setVisibility(View.VISIBLE);
             }          
         }

         if(ID[position]==position &amp;&amp; position!=0)
         {
             imgBtn.setVisibility(View.INVISIBLE);
             process.setVisibility(View.VISIBLE);
         }               
        }                                                    
        else{
            Log.e("Else", "Else case");     
        }

        imgBtn.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {               
                // TODO Auto-generated method stub  
                if(position==0)
                {
                    ID[position]=1;                     
                }
                else
                {
                    ID[position]=position;
                }
                parent.getChildCount();
                Toast.makeText(mContext, position+"", Toast.LENGTH_SHORT).show();
                parent.getChildAt(position).findViewById(R.id.progressbar_Horizontal).setVisibility(View.VISIBLE);          
                BackgroundAsyncTask objDownload=new BackgroundAsyncTask(parent,position);
                objDownload.execute();
            }

        }); 
         return rowView;                    
    }



    private class BackgroundAsyncTask extends
        AsyncTask&lt;Void, Integer, Void&gt; {

      public BackgroundAsyncTask(ViewGroup vg,int position) {       
            this.subGroup=vg;   
            this.pos=position;
        }

    int myProgress; 
    private ViewGroup subGroup;
    private int pos;

      @Override
      protected void onPostExecute(Void result) {
       // TODO Auto-generated method stub


          subGroup.getChildAt(pos).findViewById(R.id.Download).setVisibility(View.VISIBLE);         
          subGroup.getChildAt(pos).findViewById(R.id.progressbar_Horizontal).setVisibility(View.INVISIBLE);             
          Toast.makeText(mContext,"Download finished "+pos, Toast.LENGTH_SHORT).show();

          ID[1]=0;

      }

      @Override
      protected void onPreExecute() {
       // TODO Auto-generated method stub           
       myProgress = 0;
       imgBtn.setVisibility(View.INVISIBLE);
      }

      @Override
      protected Void doInBackground(Void... params) {
       // TODO Auto-generated method stub
       while(myProgress&lt;100){
        myProgress++;
        publishProgress(myProgress);
           SystemClock.sleep(100);               
       }
    return null;              
}

        protected void onProgressUpdate(Integer... values) {

            process.setProgress(values[0]);

      }
     }      
}
</code></pre>
