Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public View getCurrentView(ViewPager pager) {
- for (int i = 0; i < pager.getChildCount(); i++) {
- View child = pager.getChildAt(i);
- if (child.getX() <= pager.getScrollX() + pager.getWidth()
- && child.getX() + child.getWidth() >= pager.getScrollX() + pager.getWidth()) {
- return child;
- }
- }
- return getChildAt(0);
- Public class myActivity extends FragmentActivity
- //Variable declarations
- protected void onCreate(Bundle savedInstanceState) {
- ViewPager mPager = (ViewPager) findViewById(R.id.pager);
- mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager());
- mPager.setAdapter(mPagerAdapter);
- View CurrView;
- OnPageChangeListener pageChangelistener = new OnPageChangeListener() {
- @Override
- public void onPageSelected(int pageSelected) {
- doTextViewChnges();//access the text view and update it based on pageSelected
- ---THIS IS WHERE I AM STUCK IN TRYING TO GET THE TEXTVIEW IN MY CURRENT FRAGMWNT/VIEW-------
- }
- mPager.setOnPageChangeListener(pageChangelistener);
- }
- private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
- public ScreenSlidePagerAdapter(android.support.v4.app.FragmentManager fm) {
- super(fm);
- }
- @Override
- public android.support.v4.app.Fragment getItem(int position) {
- return ScreenSlidePageFragment.create(position, <other parameters I want to pass>);
- }
- @Override
- public int getCount() {
- return NUM_PAGES;
- }
- }
- public class ScreenSlidePageFragment extends android.support.v4.app.Fragment {
- public static final String ARG_PAGE = "pagenumber";
- public static final String ARG_PAGEARRAY = "pages";
- private int mPageNumber;
- //Declare other variables
- @SuppressLint("NewApi")
- public static ScreenSlidePageFragment create(int pageNumber, String[] pages, int bookmarkPageNumber, String storyName, int linesInOnePage) {
- ScreenSlidePageFragment fragment = new ScreenSlidePageFragment();
- Bundle args = new Bundle();
- args.putInt(ARG_PAGE, pageNumber);
- args.putStringArray(ARG_PAGEARRAY, pages);
- fragment.setArguments(args);
- return fragment;
- }
- @SuppressLint("NewApi")
- public ScreenSlidePageFragment() {
- }
- @SuppressLint("NewApi")
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- mPageNumber = getArguments().getInt(ARG_PAGE);
- pages = getArguments().getStringArray(ARG_PAGEARRAY);
- }
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- rootView = (ViewGroup) inflater
- .inflate(R.layout.activity_story, container, false);
- //load layout with all components filled up for that page
- loadView(rootView);
- return rootView;
- }
- public int getPageNumber() {
- return mPageNumber;
- }
- public View getCurrentView(ViewPager pager) {
- return ((ScreenSlidePagerAdapter) pager.getAdapter()).getCurrentView();
- }
- public View getCurrentView() {
- return currView;
- }
- public class myActivity extends FragmentActivity implements ISelectItemListener {
- // Your variable declarations and methods
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- final ViewPager pager = (ViewPager) findViewById(R.id.pager);
- mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager());
- pager.setAdapter(mPagerAdapter);
- pager.setOnPageChangeListener(
- new OnPageChangeListener() {
- @Override
- public void onPageSelected(int pageSelected) {
- final ScreenSlidePageFragment fragment = mPagerAdapter.getFragment(pageSelected);
- if (fragment != null) {
- fragment.doTextViewChnges();
- }
- }
- @Override
- public void onPageScrollStateChanged(int arg0) {
- // TODO Auto-generated method stub
- }
- @Override
- public void onPageScrolled(int arg0, float arg1, int arg2) {
- // TODO Auto-generated method stub
- }
- });
- }
- private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
- //Your variable declarations
- private final ScreenSlidePageFragment[] mFragments;
- public ScreenSlidePagerAdapter(android.support.v4.app.FragmentManager fm) {
- super(fm);
- mFragments = new ScreenSlidePageFragment[NUM_PAGES];
- }
- @Override
- public int getCount() {
- return NUM_PAGES;
- }
- // It will create new ScreenSlidePageFragment by position if it's not exsist
- @Override
- public android.support.v4.app.Fragment getItem(int position) {
- if (getFragment(position) == null) {
- mFragments[position] = ScreenSlidePageFragment.create(position, <other parameters I want to pass>);
- }
- return getFragment(position);
- }
- // It will give you ScreenSlidePageFragment if it's exists, or null
- public ScreenSlidePageFragment getFragment(int position) {
- return mFragments[position];
- }
- }
- }
- public class ScreenSlidePageFragment extends Fragment {
- //Your variables and methods
- public static ScreenSlidePageFragment create(int pageNumber, String[] pages, int bookmarkPageNumber, String storyName, int linesInOnePage) {
- final Bundle args = new Bundle();
- args.putInt(ARG_PAGE, pageNumber);
- args.putStringArray(ARG_PAGEARRAY, pages);
- final ScreenSlidePageFragment fragment = new ScreenSlidePageFragment();
- fragment.setArguments(args);
- return fragment;
- }
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- mPageNumber = getArguments().getInt(ARG_PAGE);
- pages = getArguments().getStringArray(ARG_PAGEARRAY);
- }
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- rootView = (ViewGroup) inflater.inflate(R.layout.activity_story, container, false);
- loadView(rootView);
- return rootView;
- }
- public int getPageNumber() {
- return mPageNumber;
- }
- // Let's keep logic of modifications in fragment
- public void doTextViewChnges() {
- final View view = getView();
- // do what you want with your View and his children
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement