ورود

View Full Version : نحوه گرفتن مقدار از ویجت Viewpager



adlin2000
یک شنبه 07 مهر 1392, 09:10 صبح
از یکViewpager برای گالری استفاده کرده ام . مشکلی که دارم نمی تونم به کنترل های داخل viewpager که Inflate شده اند ، دسترسی داشته باشم .



مثال های زیادی را در اینترنت دیدم اما هیچکدام نحوه دسترسی یا گرفتن مقادیر داخل ویجت را نگفته بودن یا من ندیدم ، حالا نمی تونم به طور صحیح مقادیری را از ویجت Viewpager بگیرم . مثلاً من تو ویجت گالری به کنترل های داخل آن به این صورت دسترسی داشتم :





gallery.setOnItemSelectedListener(new OnItemSelectedListener() {

@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
TextView tvid = (TextView) arg1.findViewById(R.id.tvid);
getrowlist = (String) tvid.getText();
}

@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});




برای دسترسی به کنترل های این ویجت هر کاری کردم حتی نزدیکترین حالت رویداد setOnPageChangeListener را هم امتحان کردم :


viewPager.setOnPageChangeListener( new ViewPager.SimpleOnPageChangeListener() {

@Override
public void onPageSelected(int arg0) {
TextView tv = (TextView)viewPager.findViewById(R.id.country);
txt.setText(tv.getText());
}
@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
}
});


اما در این حالت هم با تغییر صفحات ، همیشه مقداری را برنمی گرداند .(گاهی بر می گردونه و گاهی هم نه)
از نظرات و پیشنهادات استقبال می شود :لبخندساده:

adlin2000
دوشنبه 22 مهر 1392, 09:43 صبح
بیش از سه هفته هست که روی گرفتن مقادیر از viewpager‌کار می کنم و تقریباً هر حالتی را بررسی کردم ، تونستم توسط SharedPreferences مقادیری را از داخل ویجتviewpager بگیرم . مشکلی که الان دارم این هست که هنگام برگشت از صفحه n ، مقادیر صفحه n+1 را برمیگرداند ، در حالی که باید مقادیر صفحه n-1 را برمی گرداند . می خواستم بدونم راه حلی برای اینکار پیدا کردین . قسمتی از برنامه را در سایت stackoverflow گذاشتم .

http://stackoverflow.com/questions/19345628/getting-the-value-inside-the-widget-in-viewpager