عدم نمایش باتون های فرگمنت، در ویو پیجر !

ساخت وبلاگ

چهارشنبه 01 آذر 1396, 01:23 صبح #1

سلام به همه :-)
دوستان من دو تا فرگمنت ساده دارم (که هر کدوم فقط یه باتون دارن) که ازشون توی ویوپیجر داخل اکتیویتی اصلی استفاده کردم !
تا اینجا مشکلی نیست / توی ویوپیجر دو تا فرگمنت با باتون ها نمایش داده میشه
مشکل اینجاس که وقتی برای باتون فرگمنت اول onclick ست میکنم دیگه باتون دوم (که توی فرگمنت دوم هست نمایش داده نمیشه)
و اگر برای باتون فرگمنت دوم هم onclick ست کنم دیگه هیچکدوم از باتون ها رو نشون نمیده !!!!


توی عکس الان باتون ها رویداد باتون کلیک ندارن / پس نمایش داده میشن ! اما وقتی تعریف میشن و رویدادی براشون تعریف بشه دیگه نمایش داده نمیشن
البته عکس واسه این برنامه اس :
https://cafebazaar.ir/app/ir.rahgosh...abetical/?l=fa
که توی اون سه تا لایه خالی XML بود - گفتم شاید اگه از فرگمنت استفاده کنم مشکل بر طرف بشه که فرقی نکرد !
اینم کد اکتیویتی (توی فرگمنت ها هم چیزی نیست فقط ویو رو برگدوندم)

private void initViewPager() {
ViewPager VIEW_PAGER = (ViewPager) findViewById(R.id.viewPager);
LAYOUTS = new int[]{R.layout.fragment_one, R.layout.fragment_blank};
TourViewPagerAdapter ViewPagerAdapter = new TourViewPagerAdapter();
VIEW_PAGER.setAdapter(ViewPagerAdapter);
VIEW_PAGER.addOnPageChangeListener(viewPagerPageCh angeListener);
}

private class TourViewPagerAdapter extends PagerAdapter {
private LayoutInflater layoutInflater;

TourViewPagerAdapter() {
}

@Override
public Object instantiateItem(ViewGroup container, int position) {
try {
layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = layoutInflater.inflate(LAYOUTS[position], container, false);
Button btn_fragment = (Button)view.findViewById(R.id.btn_fragment);
// Button btn_fragment_two = (Button)view.findViewById(R.id.btn_fragment_next);
// btn_fragment.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// Toast.makeText(getApplicationContext(), "show", Toast.LENGTH_SHORT).show();
// }
// });
// btn_fragment_two.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// Toast.makeText(getApplicationContext(), "this show 2", Toast.LENGTH_SHORT).show();
// }
// });
container.addView(view);
return view;
} catch (Exception e) {
return null;
}
}

@Override
public int getCount() {
return LAYOUTS.length;
}

@Override
public boolean isViewFromObject(View view, Object obj) {
return view == obj;
}

@Override
public void destroyItem(ViewGroup container, int position, Object object) {
View view = (View) object;
container.removeView(view);
}
}

ViewPager.OnPageChangeListener viewPagerPageChangeListener = new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {

}

@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {

}

@Override
public void onPageScrollStateChanged(int arg0) {

}
};


تشکر
آخرین ویرایش به وسیله ghasem110deh : چهارشنبه 01 آذر 1396 در 01:40 صبح دلیل: افزودن عکس

برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : فرگمنت, نویسنده : محمد رضا جوادیان programers بازدید : 177 تاريخ : چهارشنبه 1 آذر 1396 ساعت: 10:57