startActivityForResult 相信大家都用过,调用和返回结果是分散开的,使用起来最好还是封装一下比较好。这里利用一个空的 Fragment 进行封装,代码比较简单。
封装的回调类 StartForResultListener:
1 | public interface StartForResultListener { |
接收回调的 Fragment:
1 | public class StartForResultFragment extends Fragment { |
封装入口类 StartForResult:
1 | public class StartForResult { |
使用时,仅需要传入一个 Activity:
1 | StartForResult.from(activity).startForResult(intent, REQUEST_CODE_FOR_PIC) { requestCode, resultCode, data -> |
这样,逻辑不在分散,在哪里调用在哪里处理结果,不用再跳来跳去了~