I am trying to change a viewpager fragment by clicking on a button. I have 5 fragments, each fragment has its own XML file (frag1.xml, frag2.xml, etc.). Each fragment has 5 buttons that should go to other pages of the viewpager. But the problem is, how can I check in the FragmentPageAdapter, which button to click and how to get there?
I will show the code that I have, then it should be clear, I think. Think of it as the main screen with dots below, and I click on a specific point, you will go to the corresponding screen.
FragmentPagerAdapter
public class MyFragmentPagerAdapter extends FragmentPagerAdapter{ final int PAGE_COUNT = 6; public MyFragmentPagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int arg0) { switch(arg0){ case 0: return new Fragment1(); case 1: return new Fragment2(); case 2: return new Fragment3(); case 3: return new Fragment4(); case 4: return new Fragment5(); default: return null; } } @Override public int getCount() { return PAGE_COUNT; } }
Frag1.java
public class Frag1 extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.frag_one, container, false); OnClickListener changeFrag = new OnClickListener() { @Override public void onClick(View v) { } }; ImageButton btnT = (ImageButton) v.findViewById(R.id.frag3); btnT.setOnClickListener(changeFrag); return v; } }
Mainactivity
public class MainActivity extends FragmentActivity {
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ViewPager pager = (ViewPager) findViewById(R.id.pager); FragmentManager fm = getSupportFragmentManager(); MyFragmentPagerAdapter pagerAdapter = new MyFragmentPagerAdapter(fm); pager.setAdapter(pagerAdapter);
Is something like this possible? Can someone help me in the right direction?
android android-fragments android-viewpager imagebutton
mxx
source share