انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
نوشتن متغیر در سطح کلاس (در برنامه نویسی اندروید)

نوشتن متغیر در سطح کلاس (در برنامه نویسی اندروید)

#5
دوست عزیز همون طور که آدمین جان گفت شما اشتباهتون این که توی دستور زیر از شمارنده i استفاده کردید..

کد پی‌اچ‌پی:
bitmapBitmapFactory.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 arg0float arg1int 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 کنید.

کد پی‌اچ‌پی:
bitmapBitmapFactory.decodeResource(getResources(),imageAdapter.mThumbIds[Base_position]); 

امیدوارم توضیحات کامل بوده باشه و مشکلتون حل بشه.
پاسخ
 سپاس شده توسط admin ، mfn100


پیام‌های این موضوع
RE: نوشتن متغیر در سطح کلاس (در برنامه نویسی اندروید) - توسط داش بهروز - ۱۳۹۳/۱۲/۲۲, ۰۳:۳۹ ق.ظ

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان