Created
August 21, 2017 07:43
-
-
Save followthemoney1/22b579be6f17a40f4fb73a73edcd421d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
///interface | |
public interface FragmentViewInterface { | |
void onViewCreated(View layout); | |
void onResumeFragment(); | |
void onPauseFragment(); | |
} | |
///in fragment | |
public void onActivityCreated (Bundle savedInstanceState) { | |
super.onActivityCreated(savedInstanceState); | |
try { | |
FragmentViewInterface callback = (FragmentViewInterface) getActivity(); | |
callback.onViewCreated(root); | |
} catch (ClassCastException e) { | |
Log.e("ERROR", getActivity().getCallingPackage()+" must implement FragmentViewInterface"); | |
} | |
} | |
@Override | |
public void onViewCreated(View layout) { | |
} | |
@Override | |
public void onResumeFragment() { | |
} | |
@Override | |
public void onPauseFragment() { | |
this.removeTextChangedListener(); | |
this.clearEditText(); | |
this.addTextChangeListener(); | |
} | |
///in main activity | |
private void init(){ | |
mPager = findViewById(R.id.containerForInputText); | |
mPagerAdapter = new SlidePagerAdapter(getSupportFragmentManager()); | |
mPager.setAdapter(mPagerAdapter); | |
mPager.setPagingEnabled(false); | |
mPager.addOnPageChangeListener(pageChangeListener); | |
} | |
private class SlidePagerAdapter extends FragmentPagerAdapter { | |
LeftUserFragment leftUserFragment = LeftUserFragment.newInstance(); | |
RightUserFragment rightUserFragment = RightUserFragment.newInstance(); | |
public SlidePagerAdapter(FragmentManager fm) { | |
super(fm); | |
leftUserFragment.leftUserFragmentPutData(listView, chatArrayAdapter); | |
rightUserFragment.rightUserFragmentPutData(listView, chatArrayAdapter); | |
} | |
@Override | |
public Fragment getItem(int position) { | |
if (position == 0) { | |
return leftUserFragment; | |
} else { | |
return rightUserFragment; | |
} | |
} | |
@Override | |
public int getCount() { | |
return NUM_PAGES; | |
} | |
} | |
private ViewPager.OnPageChangeListener pageChangeListener = new ViewPager.OnPageChangeListener() { | |
int currentPosition = 0; | |
@Override | |
public void onPageSelected(int newPosition) { | |
FragmentViewInterface fragmentToShow = (FragmentViewInterface)mPagerAdapter.getItem(newPosition); | |
fragmentToShow.onResumeFragment(); | |
FragmentViewInterface fragmentToHide = (FragmentViewInterface)mPagerAdapter.getItem(currentPosition); | |
fragmentToHide.onPauseFragment(); | |
currentPosition = newPosition; | |
} | |
@Override | |
public void onPageScrolled(int arg0, float arg1, int arg2) { } | |
public void onPageScrollStateChanged(int arg0) { } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment