تالار گفتمان nCIS.ir

نسخه‌ی کامل: مشکل در کار با فرگمنت
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
با سلام من با استفاده از DialogFragment چند تا فرگمنت رو ساختم و تو لود و اجرا مشکلی ندارم الان میخواهم مثلا وقتی کاربر از فرگمنت اول اسکرول میکنه و وارد فرگمنت دوم میشه حین ورود یک پیغام بهش بدم نمیدونم چطوری این کارو رو انجام بدم؟
بعد میخواهم وقتی کاربر روی یک دکمه در فرگمنت دوم کلیک کرد مقدار یک Text viewدر فرگمنت بعدی آپدیت بشه میشه راهنمایی کنید چطوری میتونم این کارها رو انجام بدم ؟
درمورد سؤال اول، کدتون رو بگذارین. درمورد سؤال دوم هم باید یه متغیر public static تعریف کنین و توی فرگمنت اول اون رو مقداردهی کنین و موقع نمایش فرگمنت دوم، اون متغیر رو بخونین و توی مکان موردنظر نمایش بدین.
با سلام و تشکر از شما استاد
این کد فرگمنت دیالوگ من هست :
public class FragmentDialog extends DialogFragment
{
    // ------------------------------------------------------------------------
    // members
    // ------------------------------------------------------------------------

    private SectionsPagerAdapter sectionsPagerAdapter;
    private ViewPager viewPager;

    // ------------------------------------------------------------------------
    // public usage
    // ------------------------------------------------------------------------

    @Override
    public Dialog onCreateDialog(final Bundle savedInstanceState)
    {
        Dialog dialog = super.onCreateDialog(savedInstanceState);
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
      
        dialog.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);

        return dialog;


    }



    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_dialog, container);

        // tab slider
        sectionsPagerAdapter = new SectionsPagerAdapter(getChildFragmentManager());

        // Set up the ViewPager with the sections adapter.
        viewPager = (ViewPager)view.findViewById(R.id.pager);
        viewPager.setAdapter(sectionsPagerAdapter);



        return view;
    }

    // ------------------------------------------------------------------------
    // inner classes
    // ------------------------------------------------------------------------

    /**
     * Used for tab paging...
     */
    public class SectionsPagerAdapter extends FragmentPagerAdapter
    {
        //instantiateItem





        public SectionsPagerAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int position) {
            if (position == 0)
            {
                // find first fragment...
                Fragment_Tab_1 ft1 = new Fragment_Tab_1();
                return ft1;
            }
            if (position == 1)
            {
                // find first fragment...
                Fragment_Tab_2 ft2 = new Fragment_Tab_2();
                return ft2;
            }
            else if (position == 2)
            {
                // find first fragment...
                Fragment_Tab_3 ft3 = new Fragment_Tab_3();
                return ft3;
            }
            else if (position == 3)
            {
                // find first fragment...
                Fragment_Tab_4 ft4 = new Fragment_Tab_4();
                return ft4;
            }
            else if (position == 4)
            {
                // find first fragment...
                Fragment_Tab_5 ft5 = new Fragment_Tab_5();
                return ft5;
            }
            else if (position == 5)
            {
                // find first fragment...
                Fragment_Tab_6 ft6 = new Fragment_Tab_6();
                return ft6;
            }
            else if (position == 6)
            {
                // find first fragment...
                Fragment_Tab_7 ft7 = new Fragment_Tab_7();
                return ft7;
            }
   
            return null;
        }

        @Override
        public int getCount() {
            // Show 2 total pages.
            return 7;
        }

        @Override
        public CharSequence getPageTitle(int position) {
            switch (position) {
                case 0:
                    return "پایه نصب";
                case 1:
                    return "سمت زنجیر";
                case 2:
                    return "نوع زنجیر";
                case 3:
                    return "سیستم کنترل";
                case 4:
                    return " انتخاب دالبر";
                case 5:
                    return "انتخاب والان";
                case 6:
                    return "انتخاب رزین";

            }
            return null;
        }



    }

}
 این کد فرگمنت اولم :

public class Fragment_Tab_1 extends Fragment
{
    View view;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
         view=inflater.inflate(R.layout.fragment_tab_1, container, false);

     setup_header();




        return view;
    }


 حالا میخواهم وقتی اینجا رو یه دکمه کلیک شد تو فرگمنت دوم مقدار تکس ویو رو آپدیت کنم

چطوری میشه اینکار رو بکنم؟