دوست عزیز همون طور که آدمین جان گفت شما اشتباهتون این که توی دستور زیر از شمارنده i استفاده کردید..
وچون مقدار i برابر صفر بوده در سطح کلاس پس اصولا باید همان عکس اول ارسال شود..حالا چه کنیم.بهترین روش اینه که onpagerLisinerاستفاده کنید..دقت کنید به نظر من بهترین روش چون میشود از روش کوتاه تر استفاده کرد اما توی خیلی موارد و Sdkمختلف ممکن است کار نکند..
ابتدا در سطح اصلی کلاس یه متغییر سراسری مثل زیر بسازید.
و سپس روی viewPager خودتون یه شنونده pagerLisinear تعریف کنید..این شنونده زمانی صدا زده میشود که صفحه تغییر کند..
در کد بالا چندین متد overrideشده است ..که یکی از این متدها باید بهش توجه کنید متد زیر است
این متد یه ورودی position داره که شماره همون صفحه ای است که در آن قرار داریم..داخل بدنه این شماره رو به متغیرBase_position پاس دادیم..
حالا میتونید این متغییر رو جانشین i کنید.
امیدوارم توضیحات کامل بوده باشه و مشکلتون حل بشه.
کد پیاچپی:
bitmap= BitmapFactory.decodeResource(getResources(),imageAdapter.mThumbIds[i]);
وچون مقدار i برابر صفر بوده در سطح کلاس پس اصولا باید همان عکس اول ارسال شود..حالا چه کنیم.بهترین روش اینه که onpagerLisinerاستفاده کنید..دقت کنید به نظر من بهترین روش چون میشود از روش کوتاه تر استفاده کرد اما توی خیلی موارد و Sdkمختلف ممکن است کار نکند..
ابتدا در سطح اصلی کلاس یه متغییر سراسری مثل زیر بسازید.
کد پیاچپی:
int Base_position=0;
و سپس روی viewPager خودتون یه شنونده pagerLisinear تعریف کنید..این شنونده زمانی صدا زده میشود که صفحه تغییر کند..
کد پیاچپی:
viewPag.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
// TODO Auto-generated method stub
Base_position=position;
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
})
در کد بالا چندین متد overrideشده است ..که یکی از این متدها باید بهش توجه کنید متد زیر است
کد پیاچپی:
@Override
public void onPageSelected(int position) {
// TODO Auto-generated method stub
Base_position=position;
}
این متد یه ورودی position داره که شماره همون صفحه ای است که در آن قرار داریم..داخل بدنه این شماره رو به متغیرBase_position پاس دادیم..
حالا میتونید این متغییر رو جانشین i کنید.
کد پیاچپی:
bitmap= BitmapFactory.decodeResource(getResources(),imageAdapter.mThumbIds[Base_position]);
امیدوارم توضیحات کامل بوده باشه و مشکلتون حل بشه.