This repository has been archived by the owner. It is now read-only.
Deprecated
Switch branches/tags
Nothing to show
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea 0.9.2 (Add onActivityResult for Nested Fragment) Mar 13, 2015
app v0.9.3 (Add support to <fragment> tag) Mar 19, 2015
gradle/wrapper Initial Commit Mar 5, 2015
stated-fragment-support-v4 v0.10.0 Apr 27, 2015
stated-fragment v0.10.0 Apr 27, 2015
.gitignore Initial Commit Mar 5, 2015
README.md Update README.md Apr 27, 2015
StatedFragment.iml 0.9.2 (Add onActivityResult for Nested Fragment) Mar 13, 2015
bintray.gradle 0.8.5 Mar 7, 2015
build.gradle 0.8.5 Mar 7, 2015
gradle.properties v0.10.0 Apr 27, 2015
gradlew Initial Commit Mar 5, 2015
gradlew.bat Initial Commit Mar 5, 2015
install.gradle 0.8.5 Mar 7, 2015
settings.gradle 0.8.5 Mar 7, 2015

README.md

Android Arsenal

StatedFragment

Provides a functionality to retrieve onActivityResult in nested fragment.

Version

0.10.0

Installation

To use this library in your android project, just simply add the following dependency into your build.gradle

StatedFragment for Android Support Library v4's Fragment

dependencies {
    compile 'com.inthecheesefactory.thecheeselibrary:stated-fragment-support-v4:0.10.0'
}

StatedFragment for Android's Fragment

dependencies {
    compile 'com.inthecheesefactory.thecheeselibrary:stated-fragment:0.10.0'
}

Usage

onActivityResult for Nested Fragment

In v0.10.0 onward, NestedActivityResultFragment is introduced to fix onActivityResult problem which couldn't be called on nested fragment. To use it, you have to override onActivityResult on your Activity and add a line of code:

    @Override
    protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        ActivityResultBus.getInstance().postQueue(new ActivityResultEvent(requestCode, resultCode, data));
    }

And in your fragment, you need to call getActivity().startActivityForResult(...) but not startActivityForResult(...) since we need to let all the result sent to Activity.

Lastly, override onActivityResult in your fragment in the standard way.

    public class MainFragment extends NestedActivityResultFragment {
    
        @Override
        public void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            // Add your code here
            Toast.makeText(getActivity(), "Fragment Got it: " + requestCode + ", " + resultCode, Toast.LENGTH_SHORT).show();
        }
        
    }

State Saving/Restoring

Since v0.10.0, StatedFragment is now marked deprecated. Please use the traditional way documented at http://inthecheesefactory.com/blog/fragment-state-saving-best-practices/en instead

Change Logs

v0.10.0

  • StatedFragment is marked deprecated. Traditional way to save/restore fragment's state is recommended.
  • NestedActivityResultFragment is introduced to fix onActivityResult problem which couldn't be called on nested fragment

v0.9.3

Add support to <fragment> tag.

v0.9.2

Add onActivityResult feature for nested fragment.

v0.9.1

Change Android Support Library v4 dependency's version to 21.+ to avoid future dependency conflict.

v0.9.0

Seperates library into two versions:

  • stated-fragment-support-v4: Fragment is inherited from android.support.v4.app.fragment
  • stated-fragment: Fragment is inherited from android.app.fragment

License

Apache 2.0