آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

جابجایی بین تب های فرگمنت

SaeiD-as  10 سال پیش  10 سال پیش
0 0

سلام دوستان

چطوری میتونم در فرگمنت با کلیک روی یه Button از تب فعلی  به تب بعدی برم؟ داخل انجمن و استک سرچ زدم، کدهای زیر رو پیدا کردم ولی با کلیک روی Button صفحه تب فعلی سفید میشه و به تب بعدی نمیره

 Fragment newFragment = new FragmentObjects().instance("second");
                FragmentTransaction transaction = getFragmentManager().beginTransaction();
                //FragmentTransaction transaction = getActivity().getSupportFragmentManager().beginTransaction();

                transaction.replace(R.id.viewPager, newFragment)
                        .show(FragmentObjects.instance("second"))
                        .addToBackStack(null)
                        .commit();

ممنون میشم راهنماییم کنید

0 0
(10 سال پیش)
+1 0
شما از ViewPager برای نمایش Fragment استفاده میکنید؟ (10 سال پیش)
0 0
بله، با استفاده از آموزش های محمد حسین طراحیش کردم (10 سال پیش)
+1 0
با یه Listener و متد setCurrentItem (مربوط به کلاس ViewPager) میشه انجام داد. (مثالش هست نیاز به گشتن داره :) (10 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
SaeiD-as  10 سال پیش
0 0

یه ویوپیجر ساختم و این کدهارو داخلش قرار دادم، مشکلی که دارم اینه که position رو نمیدونم چی قرار بدم:

imgNext.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
 ViewPager viewPager = (ViewPager) layout.findViewById(R.id.viewPager); viewPager.setCurrentItem(position);
} });
+1 0
بالاتر گفتین تب بعدی، میتونید موقعیت صفحه فعلی رو با متد getCurrentItem بگیرید و از اون یدونه کم یا زیاد کنید (بسته به اینکه تب بخوایید برید سمت چپی یا راستی). (10 سال پیش)
0 0
انجام دادم ارور nullPointerException میده، ویوپیجر رو درست معرفی کردم؟ (10 سال پیش)
پاسخ به سوال 
SaeiD-as  10 سال پیش
0 0

هنگامی که از کد زیر استفاده می کردم ارور NullPointerException مواجه می شدم:

 imgNext.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                ViewPager viewPager = (ViewPager) layout.findViewById(R.id.viewPager);
viewPager.setCurrentItem(viewPager.getCurrentItem + 1);
} });

داخل اکتیویتی اصلی متد زیر رو نوشتم:

 public ViewPager getViewPager() {
        ViewPager viewPager = (ViewPager) findViewById(R.id.viewPager);
        if (null == viewPager) {
            viewPager = (ViewPager) findViewById(R.id.viewPager);
        }
        return viewPager;
    }

و داخل فرگمنت کدهامو بصورت زیر تغییر دادم:

 imgNext.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                ((ActivityMain) getActivity()).getViewPager().setCurrentItem(4);
} });

شماره صفحه بعدی رو هم از PagerAdapter بدست آوردم، با این روش مشکلم حل شد

اگه راه حل بهتری براش هست ممنون میشم بگید

0 0
خطای null که بخاطر ارجاع نادرست به ViewPager بوده حتما، فقط getViewPager بهتره همون object ی که توی کلاس MainActivity ایجاد شده رو برگردونه نه اینکه از نوع بیاد مقدار دهیش کنه، همینطور بهتره اصلا این متد تبدیل به یه متد void بشه که یه عدد رو بگیره و مکان ViewPager رو تعیین کنه. راه برای تمیزتر و بهتر نوشتن زیاده خلاصه. (10 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .