i am using following code to display remote image with next and previous buttons. clicking on next and previous buttons two or three times it does not show image next image. and bitmap of DisplayLiveImage is null.
can any one check is this a buffer problem? or connection?
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);
}
}
any help would be appriciated.