Created
August 15, 2016 06:04
-
-
Save li2/f682d2f6ef6e4b1316b7722fb7eedfd5 to your computer and use it in GitHub Desktop.
This file contains hidden or 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
/** | |
* Created by weiyi.li on 4/7/16. | |
* This activity includes {@link AlbumFragment} and {@link ThumbnailFragment}. | |
*/ | |
public class TwoFragmentsActivity extends BasicOperationActivity { | |
private boolean mShowingThumbnail = true; | |
@Dvr.DvrFolder private int mFolderType = Dvr.DVR_FOLDER_LOOPED_VIDEOS; | |
private FragmentManager mFm; | |
private AlbumFragment mAlbumFragment; | |
private ThumbnailFragment mThumbnailFragment; | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
mActionTitleView.setOnClickListener(mOnActionTitleClickedListener); | |
mFm = getSupportFragmentManager(); | |
showThumbnailFragment(mFolderType); | |
} | |
@NonNull | |
@Override | |
protected Fragment createContentFragment() { | |
return null; | |
} | |
@Override | |
protected void onOperationButton1Clicked() { | |
} | |
@Override | |
protected void onOperationButton2Clicked() { | |
} | |
/** Implements listeners to response to UI touch events. */ | |
private DebouncedOnClickListener mOnActionTitleClickedListener = new DebouncedOnClickListener() { | |
@Override | |
public void onDebouncedClick(View v) { | |
if (mShowingThumbnail) { | |
showAlbumFragment(); | |
hideThumbnailFragment(); | |
} else { | |
hideAlbumFragment(); | |
showThumbnailFragment(mFolderType); | |
} | |
} | |
}; | |
private AlbumFragment.OnAlbumClickListener mOnAlbumClickListener = new AlbumFragment.OnAlbumClickListener() { | |
@Override | |
public void onAlbumClick(@Dvr.DvrFolder int folder) { | |
mFolderType = folder; | |
mShowingThumbnail = true; | |
hideAlbumFragment(); | |
showThumbnailFragment(folder); | |
} | |
}; | |
/** Private methods to update UI */ | |
private void showThumbnailFragment(@Dvr.DvrFolder int folder) { | |
if (mThumbnailFragment == null) { | |
mThumbnailFragment = ThumbnailFragment.newInstance(folder); | |
mFm.beginTransaction().add(R.id.contentFragmentContainer, mThumbnailFragment).commit(); | |
} | |
mFm.beginTransaction().show(mThumbnailFragment).commit(); | |
} | |
private void hideThumbnailFragment() { | |
if (mThumbnailFragment != null) { | |
mFm.beginTransaction().hide(mThumbnailFragment).commit(); | |
} | |
} | |
private void showAlbumFragment() { | |
if (mAlbumFragment == null) { | |
mAlbumFragment = new AlbumFragment(); | |
mAlbumFragment.setOnAlbumClickListener(mOnAlbumClickListener); | |
mFm.beginTransaction().add(R.id.contentFragmentContainer, mAlbumFragment).commit(); | |
} | |
mFm.beginTransaction().show(mAlbumFragment).commit(); | |
} | |
private void hideAlbumFragment() { | |
if (mAlbumFragment != null) { | |
mFm.beginTransaction().hide(mAlbumFragment).commit(); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment