How to change tab on button click in Android?

后端 未结 1 1477
刺人心
刺人心 2021-01-14 04:19

FragmentPagerSupport is a FragmentActivity class, FragmentA and FragmentB are representing 2 different tabs. In the First tab I have a EditText and a button. My task is to o

1条回答
  •  攒了一身酷
    2021-01-14 04:29

    Assuming your ViewPager is named mPager:

    public void onClick(View view)
    {
         mPager.setCurrentItem(1); // Change to page 1, i.e., FragmentB
    }
    

    I would suggest reading this training page in detail. It goes into some of the strategies used to pass information from Fragment to Fragment (generally by having the Activity implement an interface that the Fragment can then call).

    It really depends on how coupled you want your Fragments to be. You could certainly use something like

    ((FragmentB)getActivity().getSupportFragmentManager().findFragmentByTag(
        "android:switcher:" + pager.getId() + ":1")).setExitText(text)
    

    to pass the text from FragmentA to FragmentB, but that tightly couples your Fragments to each other and to the ViewPager the Activity contains.

    I would suggest

    1. Make your Activity implement an Interface that contains a single method such as goToFragmentB(String exitText)
    2. Call this method in your FragmentA's onClick
    3. Have goToFragmentB:
      • Call a setExitText in FragmentB (use the above findFragmentByTag using that odd tag per the ViewPager source)
      • Set the pager to FragmentB

    0 讨论(0)
提交回复
热议问题