2010-06-08 5 views
0

J'utilise le code suivant pour afficher l'image distante avec les boutons suivant et précédent. en cliquant sur les boutons suivant et précédent deux ou trois fois, il ne montre pas l'image image suivante. et bitmap de DisplayLiveImage est null.android Image distante Problème?

peut-on vérifier que c'est un problème de tampon? ou une connexion?

ImageView img; 
    int CurrentImageIndex; 


    protected void onCreate(Bundle savedInstanceState) 
    { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.imageviwer); 
     setTitle("some text"); 



     myRemoteImages = new String[6]; 
     myRemoteImages[0]="http://www.comparecheapinsurance.com/car-insurance/images/car-insurance-policy.jpg"; 
     myRemoteImages[1]="http://www.speedace.info/solar_cars/solar_car_images/auburn_university_solar_car_banked_road_test.jpg"; 
     myRemoteImages[2]="http://zedomax.com/blog/wp-content/uploads/2009/07/car.jpg"; 
     myRemoteImages[3]="http://www.wallpaperez.net/wallpaper/car/Lamborghini-prototype-car-926.jpg"; 
     myRemoteImages[4]="http://www.evbeat.com/blog/wp-content/uploads/2009/03/aptera-electric-car.jpg"; 
     myRemoteImages[5]="http://www.cartuningcentral.com/wp-content/uploads/2008/01/exotic-car-pagani-zonda.jpg"; 


     CurrentImageIndex= 0; 

     img= (ImageView)findViewById(R.id.myImageView); 
     DisplayLiveImage(CurrentImageIndex); 

     Button previous = (Button)findViewById(R.id.btnPrevious); 
     Button next = (Button)findViewById(R.id.btnNext); 


     next.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View view) { 

       ShowNext(); 

      } 

     }); 

     previous.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View view) { 

       ShowPrevious(); 

      } 

     }); 

    } 


    public void DisplayLiveImage(int val) 
    { 

        try { 

          URL aURL = new URL(myRemoteImages[val]); 
          URLConnection conn = aURL.openConnection(); 
          conn.connect(); 
          InputStream is = conn.getInputStream(); 

          BufferedInputStream bis = new BufferedInputStream(is); 

          Bitmap bm = BitmapFactory.decodeStream(bis); 
          bis.close(); 
          is.close(); 

          // i.setImageBitmap(bm); 
          img.setImageBitmap(bm); 
         } catch (IOException e) { 

         } 


        // i.setScaleType(ImageView.ScaleType.FIT_CENTER); 

        // i.setLayoutParams(new Gallery.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 
        // return i; 


    } 






    public void ShowNext() 
    { 
     if(CurrentImageIndex < myRemoteImages.length) 
     { 
      CurrentImageIndex = CurrentImageIndex +1 ; 
      DisplayLiveImage(CurrentImageIndex); 
     } 

    } 


    public void ShowPrevious() 
    { 

     if(CurrentImageIndex > 0) 
     { 
      CurrentImageIndex = CurrentImageIndex -1 ; 
      DisplayLiveImage(CurrentImageIndex); 
     } 



    } 

toute aide serait appriciée.

+0

wow .... quel code. Chemin vers de nombreux espaces et lignes vides, je ne lis pas ça – slinden77

Répondre