رفتن به مطلب
  • 0

مدیریت کلیک در Viewpager


hewillcome

سوال

باعرض سلام خدمت همه ی اساتید محترم.

می خواستم بپرسم بنده چگونه می توانم کاری کنم که با کلیک  بر روی دکمه یه Toast نمایش داده شود؟

3rr9_untitled.png

نکته ای که قابل ذکر است:

همانطور که در عکس نشان داده شده است بنده از bottom navigation استفاده کرده ام. به همین منظور با استفاده از viewpager ها 4 لایه ی xml را به آن نسبت داده ام.

در یکی از این لایه ها یک دکمه وجود دارد که من قصد دارم با کلیک بر روی آن دکمه یه toast نمایش داده شود.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

6 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

در 2 ساعت قبل، hewillcome گفته است :

باعرض سلام خدمت همه ی اساتید محترم.

می خواستم بپرسم بنده چگونه می توانم کاری کنم که با کلیک  بر روی دکمه یه Toast نمایش داده شود؟

3rr9_untitled.png

نکته ای که قابل ذکر است:

همانطور که در عکس نشان داده شده است بنده از bottom navigation استفاده کرده ام. به همین منظور با استفاده از viewpager ها 4 لایه ی xml را به آن نسبت داده ام.

در یکی از این لایه ها یک دکمه وجود دارد که من قصد دارم با کلیک بر روی آن دکمه یه toast نمایش داده شود.

سلام من مبتدی هستم ولی تا جایی که میدونم کمکتون می کنم اگه با فرگمنت نوشتین برید داخل فرگمنت تون

و در متد

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View layout = inflater.from(getContext()).inflate(R.layout.fragment_main_orders, container, false);
     	Button btn = (Button) inflater.findViewById(R.id.BTN);

		btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                 Toast.makeText(layout.getContext(), "Hi", Toast.LENGTH_LONG).show();
            }
        });

        return layout;
    }

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام‌ دوباره در متد instantiateItem

 و از inflater یه متغیر  View بگیرید به اسم v و به جای کد layout بنده v رو بزارید

فکر کنم جواب بده

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 49 دقیقه قبل، amir54 گفته است :

سلام‌ دوباره در متد instantiateItem

 و از inflater یه متغیر  View بگیرید به اسم v و به جای کد layout بنده v رو بزارید

فکر کنم جواب بده

سلام. از پاسخگوئیتان سپاس گزارم.

بنده کد های زیر را نوشتم اما متاسفانه هیچ toast نشان داده نمیشود/ایا منظور شما همین بود؟(وارد متد creat اصلا نمیشود)

public class CustomPagerAdapter extends PagerAdapter {

    private Context mContext;

    public CustomPagerAdapter(Context context) {
        mContext = context;

    }






    @Override
    public Object instantiateItem(ViewGroup collection, int position) {
        ModelObject modelObject = ModelObject.values()[position];
        LayoutInflater inflater = LayoutInflater.from(mContext);
        ViewGroup layout = (ViewGroup) inflater.inflate(modelObject.getLayoutResId(), collection, false);
        collection.addView(layout);
        final View v=layout;

        return layout;
    }



    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        final View v = inflater.from(mContext).inflate(R.layout.page1, container, false);
        Button btn = (Button) v.findViewById(R.id.clickbtn);

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(v.getContext(), "Hi", Toast.LENGTH_LONG).show();
            }
        });

        return v;
    }



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

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

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

    @Override
    public CharSequence getPageTitle(int position) {
        ModelObject customPagerEnum = ModelObject.values()[position];
        return mContext.getString(customPagerEnum.getTitleResId());
    }

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 4 ساعت قبل، hewillcome گفته است :

سلام. از پاسخگوئیتان سپاس گزارم.

بنده کد های زیر را نوشتم اما متاسفانه هیچ toast نشان داده نمیشود/ایا منظور شما همین بود؟(وارد متد creat اصلا نمیشود)


public class CustomPagerAdapter extends PagerAdapter {

    private Context mContext;

    public CustomPagerAdapter(Context context) {
        mContext = context;

    }






    @Override
    public Object instantiateItem(ViewGroup collection, int position) {
        ModelObject modelObject = ModelObject.values()[position];
        LayoutInflater inflater = LayoutInflater.from(mContext);
        ViewGroup layout = (ViewGroup) inflater.inflate(modelObject.getLayoutResId(), collection, false);
        collection.addView(layout);
        final View v=layout;

        return layout;
    }



    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        final View v = inflater.from(mContext).inflate(R.layout.page1, container, false);
        Button btn = (Button) v.findViewById(R.id.clickbtn);

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(v.getContext(), "Hi", Toast.LENGTH_LONG).show();
            }
        });

        return v;
    }



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

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

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

    @Override
    public CharSequence getPageTitle(int position) {
        ModelObject customPagerEnum = ModelObject.values()[position];
        return mContext.getString(customPagerEnum.getTitleResId());
    }

 

نه خیر برادر

شما واسه ویوپیجرتون چهارتا فرگمنت درست کردین دیگه درسته؟ طبق باتم نویگیشنتون

خوب برید توی فرگمنتی که برای "خانه" ست کردین و توی onCreateView اون فرگمنت اون کدارو بذارید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 5 ساعت قبل، Gray Mind گفته است :

نه خیر برادر

شما واسه ویوپیجرتون چهارتا فرگمنت درست کردین دیگه درسته؟ طبق باتم نویگیشنتون

خوب برید توی فرگمنتی که برای "خانه" ست کردین و توی onCreateView اون فرگمنت اون کدارو بذارید

بله درست شد. بسیار سپاس گزارم.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...