ActivityResultHelper
March 4, 2020 ยท View on GitHub
This is a tools lib for getting ActivityResult more convenience
- support
RxJava - support
Fragment - support
FragmentActivity - support all
Contextthat is related toFragmentActivity, such asDialog#getContext()
Config
Add it in your root build.gradle at the end of repositories
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Add the dependency
normal
implementation 'com.github.xiaojinzi123.ActivityResultHelper:activity-result:<version>'
rxjava extend
implementation 'com.github.xiaojinzi123.ActivityResultHelper:activity-result-rxjava:<version>'
<version> replace with the real version!
Usage
Get ActivityResult
ActivityResultHelper.with(fragmentActivity)
.target(SecondAct.class)
//.target(new Intent(this, SecondAct.class))
.requestCodeRandom()
.startForResult(new Callback<ActivityResult>() {
@Override
public void accept(@NonNull ActivityResult activityResult) {
// todo
}
});
Get Intent(without resultCode match)
ActivityResultHelper.with(fragment)
.target(ThirdAct.class)
.requestCodeRandom()
.startForIntent(new Callback<Intent>() {
@Override
public void accept(@NonNull Intent intent) {
// todo
}
});
Get Intent(resultCode match)
ActivityResultHelper.with(context)
.target(ThirdAct.class)
.requestCodeRandom()
.startForIntent(RESULT_OK, new Callback<Intent>() {
@Override
public void accept(@NonNull Intent intent) {
// todo
}
});
Use with RxJava
ActivityResult Get
RxActivityResultHelper.with(this)
// .target(ThirdAct.class)
.target(new Intent(this, ThirdAct.class))
.requestCodeRandom()
.call()
.subscribe(new Consumer<ActivityResult>() {
@Override
public void accept(ActivityResult activityResult) throws Exception {
// todo
}
});
Intent Get
RxActivityResultHelper.with(this)
// .target(ThirdAct.class)
.target(new Intent(this, ThirdAct.class))
.requestCodeRandom()
.intentCall(RESULT_OK)
.subscribe(new Consumer<Intent>() {
@Override
public void accept(Intent intent) throws Exception {
// doto
}
});