Advertisement
Guest User

Untitled

a guest
Jun 20th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.43 KB | None | 0 0
  1. public View getCurrentView(ViewPager pager) {
  2. for (int i = 0; i < pager.getChildCount(); i++) {
  3. View child = pager.getChildAt(i);
  4. if (child.getX() <= pager.getScrollX() + pager.getWidth()
  5. && child.getX() + child.getWidth() >= pager.getScrollX() + pager.getWidth()) {
  6. return child;
  7. }
  8.  
  9. }
  10. return getChildAt(0);
  11.  
  12. Public class myActivity extends FragmentActivity
  13. //Variable declarations
  14. protected void onCreate(Bundle savedInstanceState) {
  15. ViewPager mPager = (ViewPager) findViewById(R.id.pager);
  16. mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager());
  17. mPager.setAdapter(mPagerAdapter);
  18. View CurrView;
  19.  
  20. OnPageChangeListener pageChangelistener = new OnPageChangeListener() {
  21. @Override
  22. public void onPageSelected(int pageSelected) {
  23. doTextViewChnges();//access the text view and update it based on pageSelected
  24. ---THIS IS WHERE I AM STUCK IN TRYING TO GET THE TEXTVIEW IN MY CURRENT FRAGMWNT/VIEW-------
  25. }
  26.  
  27. mPager.setOnPageChangeListener(pageChangelistener);
  28. }
  29. private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
  30. public ScreenSlidePagerAdapter(android.support.v4.app.FragmentManager fm) {
  31. super(fm);
  32. }
  33.  
  34. @Override
  35. public android.support.v4.app.Fragment getItem(int position) {
  36. return ScreenSlidePageFragment.create(position, <other parameters I want to pass>);
  37. }
  38.  
  39. @Override
  40. public int getCount() {
  41. return NUM_PAGES;
  42. }
  43. }
  44.  
  45. public class ScreenSlidePageFragment extends android.support.v4.app.Fragment {
  46.  
  47. public static final String ARG_PAGE = "pagenumber";
  48. public static final String ARG_PAGEARRAY = "pages";
  49.  
  50. private int mPageNumber;
  51. //Declare other variables
  52.  
  53. @SuppressLint("NewApi")
  54. public static ScreenSlidePageFragment create(int pageNumber, String[] pages, int bookmarkPageNumber, String storyName, int linesInOnePage) {
  55. ScreenSlidePageFragment fragment = new ScreenSlidePageFragment();
  56. Bundle args = new Bundle();
  57. args.putInt(ARG_PAGE, pageNumber);
  58. args.putStringArray(ARG_PAGEARRAY, pages);
  59. fragment.setArguments(args);
  60. return fragment;
  61. }
  62.  
  63. @SuppressLint("NewApi")
  64. public ScreenSlidePageFragment() {
  65. }
  66.  
  67. @SuppressLint("NewApi")
  68. @Override
  69. public void onCreate(Bundle savedInstanceState) {
  70. super.onCreate(savedInstanceState);
  71. mPageNumber = getArguments().getInt(ARG_PAGE);
  72. pages = getArguments().getStringArray(ARG_PAGEARRAY);
  73. }
  74.  
  75. @Override
  76. public View onCreateView(LayoutInflater inflater, ViewGroup container,
  77. Bundle savedInstanceState) {
  78. rootView = (ViewGroup) inflater
  79. .inflate(R.layout.activity_story, container, false);
  80.  
  81. //load layout with all components filled up for that page
  82. loadView(rootView);
  83. return rootView;
  84. }
  85. public int getPageNumber() {
  86. return mPageNumber;
  87. }
  88.  
  89. public View getCurrentView(ViewPager pager) {
  90. return ((ScreenSlidePagerAdapter) pager.getAdapter()).getCurrentView();
  91. }
  92.  
  93. public View getCurrentView() {
  94. return currView;
  95. }
  96.  
  97. public class myActivity extends FragmentActivity implements ISelectItemListener {
  98. // Your variable declarations and methods
  99.  
  100. @Override
  101. protected void onCreate(Bundle savedInstanceState) {
  102. final ViewPager pager = (ViewPager) findViewById(R.id.pager);
  103.  
  104. mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager());
  105. pager.setAdapter(mPagerAdapter);
  106.  
  107. pager.setOnPageChangeListener(
  108. new OnPageChangeListener() {
  109. @Override
  110. public void onPageSelected(int pageSelected) {
  111. final ScreenSlidePageFragment fragment = mPagerAdapter.getFragment(pageSelected);
  112.  
  113. if (fragment != null) {
  114. fragment.doTextViewChnges();
  115. }
  116. }
  117.  
  118. @Override
  119. public void onPageScrollStateChanged(int arg0) {
  120. // TODO Auto-generated method stub
  121. }
  122.  
  123. @Override
  124. public void onPageScrolled(int arg0, float arg1, int arg2) {
  125. // TODO Auto-generated method stub
  126. }
  127. });
  128. }
  129.  
  130. private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
  131. //Your variable declarations
  132.  
  133. private final ScreenSlidePageFragment[] mFragments;
  134.  
  135. public ScreenSlidePagerAdapter(android.support.v4.app.FragmentManager fm) {
  136. super(fm);
  137.  
  138. mFragments = new ScreenSlidePageFragment[NUM_PAGES];
  139. }
  140.  
  141. @Override
  142. public int getCount() {
  143. return NUM_PAGES;
  144. }
  145.  
  146.  
  147.  
  148.  
  149. // It will create new ScreenSlidePageFragment by position if it's not exsist
  150. @Override
  151. public android.support.v4.app.Fragment getItem(int position) {
  152. if (getFragment(position) == null) {
  153. mFragments[position] = ScreenSlidePageFragment.create(position, <other parameters I want to pass>);
  154. }
  155.  
  156. return getFragment(position);
  157. }
  158.  
  159. // It will give you ScreenSlidePageFragment if it's exists, or null
  160. public ScreenSlidePageFragment getFragment(int position) {
  161. return mFragments[position];
  162. }
  163. }
  164. }
  165.  
  166. public class ScreenSlidePageFragment extends Fragment {
  167. //Your variables and methods
  168.  
  169. public static ScreenSlidePageFragment create(int pageNumber, String[] pages, int bookmarkPageNumber, String storyName, int linesInOnePage) {
  170. final Bundle args = new Bundle();
  171. args.putInt(ARG_PAGE, pageNumber);
  172. args.putStringArray(ARG_PAGEARRAY, pages);
  173.  
  174. final ScreenSlidePageFragment fragment = new ScreenSlidePageFragment();
  175. fragment.setArguments(args);
  176.  
  177. return fragment;
  178. }
  179.  
  180. @Override
  181. public void onCreate(Bundle savedInstanceState) {
  182. super.onCreate(savedInstanceState);
  183. mPageNumber = getArguments().getInt(ARG_PAGE);
  184. pages = getArguments().getStringArray(ARG_PAGEARRAY);
  185. }
  186.  
  187. @Override
  188. public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
  189. rootView = (ViewGroup) inflater.inflate(R.layout.activity_story, container, false);
  190.  
  191. loadView(rootView);
  192. return rootView;
  193. }
  194.  
  195. public int getPageNumber() {
  196. return mPageNumber;
  197. }
  198.  
  199. // Let's keep logic of modifications in fragment
  200. public void doTextViewChnges() {
  201. final View view = getView();
  202. // do what you want with your View and his children
  203. }
  204. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement