Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public Fragment getItem( int position )
- {
- Fragment fragment = null;
- switch ( position )
- {
- case 0: // news
- if ( mFragmentAtPos0 == null )
- {
- mFragmentAtPos0 = new NewsListFragment( new FirstPageFragmentListener()
- {
- @Override
- public void onSwitchToNewsFragment( String url, ViewGroup container )
- {
- FragmentTransaction transaction = fm.beginTransaction();
- transaction.setCustomAnimations( R.anim.rotate_in, R.anim.rotate_out, R.anim.rotate_in, R.anim.rotate_out );
- WebViewFragment wv = new WebViewFragment( url, context );
- transaction.replace( container.getId(), wv );
- transaction.commit();
- mFragmentAtPos0 = wv;
- notifyDataSetChanged();
- }
- } );
- }
- fragment = mFragmentAtPos0;
- break;
- case 1:
- fragment = new NewsInfoFragment( context, true );
- break;
- case 2:
- fragment = new NewsInfoFragment( context, false );
- break;
- }
- return fragment;
- }
- listView.setOnItemClickListener( new OnItemClickListener()
- {
- @Override
- public void onItemClick( AdapterView<?> parent, View view, int position, long id )
- {
- if ( position < listNewsAdapter.getCount() - 1 )
- {
- if ( listener != null )
- {
- listener.onSwitchToNewsFragment( listNewsAdapter.getItem( position ).getNewsUrl(), container );
- }
- }
- }
- } );
- private Stack<Integer> stackkk;
- private ViewPager mPager;
- private int tabPosition = 0;
- mTabLayout.setupWithViewPager(mPager);
- mPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(mTabLayout));
- mTabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
- @Override
- public void onTabSelected(TabLayout.Tab tab) {
- tabPosition = tab.getPosition();
- mPager.setCurrentItem(tab.getPosition());
- if (stackkk.empty())
- stackkk.push(0);
- if (stackkk.contains(tabPosition)) {
- stackkk.remove(stackkk.indexOf(tabPosition));
- stackkk.push(tabPosition);
- } else {
- stackkk.push(tabPosition);
- }
- }
- @Override
- public void onTabUnselected(TabLayout.Tab tab) {
- tabPositionUnselected = tab.getPosition();
- }
- @Override
- public void onTabReselected(TabLayout.Tab tab) {
- }
- });
- }
- @Override
- public void onBackPressed() {
- if (stackkk.size() > 1) {
- stackkk.pop();
- mPager.setCurrentItem(stackkk.lastElement());
- } else {
- //do wat you want
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement