اطلاعیه

کاربر گرامی

به انجمن برنامه نویسی AnswerCenter.ir خوش آمدید

 برای استفاده از تمامی امکانات سایت لطفا در انجمن عضو شوید


محمدرضا شاهپیری

آموزش ترکیب RecyclearView+Viewpager+NavigationView با استفاده از CoordinatorLayout

10 ارسال در این موضوع قرار دارد

بسیار عالی به شخصه دنبال تب هاستش بودم ! واسه راست چین کردنش !

 

زیباست

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


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

مرسی محمد جان 
بسیار آموزش خوبی یود 

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


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

مهندس شاهپیری سلام ممنون ...... آموزش مفیدباری بود .... من که لذت بردم

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


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

سلام خسته نباشید

مهندس اگه ما تعداد تب هامون مشخص نباشه و انلاین بخوایم عنوان تب هارو گرفت و تعدادشون هم مشخص نباشه بعد باید چیکار کنیم؟

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


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

سادس عزیز.

اول کلاس pageradapter رو به شکل زیر تغییر بدین

package com.mohamadrezsh.tabcordinate.adapter;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;

import java.util.ArrayList;

public class PagerAdapter extends FragmentStatePagerAdapter {
   private ArrayList<Fragment> fragmentArrayList;
    public PagerAdapter(FragmentManager fm,ArrayList<Fragment> fragmentArrayList) {
        super(fm);
        this.fragmentArrayList = fragmentArrayList;
    }

    @Override
    public Fragment getItem(int position) {

        return fragmentArrayList.get(position);
    }

    @Override
    public int getCount() {
        return  fragmentArrayList.size();
    }
    public void addTabPage(Fragment fragment) {
        fragmentArrayList.add(fragment);
        notifyDataSetChanged();
    }
}

حالا واسه اضافه کردن هم به شکل زیر عمل کنید.

      ArrayList<Fragment> fragments=new ArrayList<>();
       PagerAdapter adapter= new PagerAdapter
                (getSupportFragmentManager(),fragments);
        tabLayout.addTab(tabLayout.newTab().setText("تب اول"));
        adapter.addTabPage(new Fragment1());
        tabLayout.addTab(tabLayout.newTab().setText("تب دوم"));
        adapter.addTabPage(new Fragment2());
        viewPager.setAdapter(adapter);

 

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


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

ممنون از پاسختون استاد

به این تصویر توجه کنید

http://s8.picofile.com/file/8313049150/photo_2017_11_29_12_31_49.jpg

اینجا تعداد دسته ها متفاوته شاید 3 تا باشه شاید 20 تا

شما تو کدهاتون برا هر فرگمنت یک class مثلا  Fragment1 کردید که در این صورت من باید د تا تعریف کنم

ایا راه حلی هست؟

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


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

خیر عزیز نیازی نیست. شما با یه فرگمنت هم میتونید همه کارهاتونو بکنید. البته به شرطی که تبهاتون بیسشون یکی باشه. مثلا همه یه ریسایکلرویو دارن که اطلاعات مختلفی رو میگیرن.

اگه اینجوری هست کافیه به فرگمنت آرگومان بدین و یه instanse ازش بسازید. متد زیر رو توی فرگمنتتون ایجاد کنید

public static MyFragment newInstance(int someInt) {
    MyFragment myFragment = new MyFragment();

    Bundle args = new Bundle();
    args.putInt("someInt", someInt);
    myFragment.setArguments(args);

    return myFragment;
}

حالا توی متد onCreate (توی فرگمنتتون) کافیه به صورت زیر مقادیر رو بگیرید و استفاده کنید.

getArguments().getInt("someInt", 0);

 

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


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

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

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

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری