get Null image in gridview when images don't display in creen (have to scroll down to see image )
===

I have a button and android image gridview with 3 columns, 7 rows. My purpose is anytime i click on button the image which has position "i" in gridview will run animation (i increase each time click button). The problem that with all image display on screen it animates well, but images don't display in screen (to view it , have to scroll down) it has null pointer exception. How can i solve it ?
 
My gridview code :

 public View getView( int position,final View convertView,final ViewGroup parent) {
        ImageView imageView;
        Bitmap bm = null;
        
        final Lession lessionAtPosition = listWordOfLession.get(position) ;
        if (convertView == null) {  // if it's not recycled, initialize some attributes
            imageView = new ImageView(mContext);
            imageView.setLayoutParams(new GridView.LayoutParams(parent.getWidth()/3 - 5, 150));
            imageView.setPadding(5, 5, 5, 5);
        } else {
            imageView = (ImageView) convertView;
        }
        try {
        	bm = getBitmapFromAsset(lessionAtPosition.getImage()) ;
        	
		} catch (Exception e) {
			// TODO: handle exception
		}
        imageView.setImageBitmap(bm);
        return imageView;
    }

And code click on button to animate image has position 20 (which not display on screen):

button.setOnClickListener(new View.OnClickListener() {
    		public void onClick(View v) {
    			
    			ImageView image = (ImageView)gridView.getChildAt(20) ;
                        image.setVisibility(View.VISIBLE) ;
		    	image.startAnimation(hyperspaceJump) ;  
}

And one more problem, when i scroll down the image's position change, so it doesn't animate the correct image i want.

Thanks anyone can help me ?