donglua / PhotoPicker

[DEPRECATED] Image Picker like Wechat
https://play.google.com/store/apps/details?id=me.iwf.PhotoPickerDemo
Apache License 2.0
2.83k stars 683 forks source link

MultiPickResultView在Fragment中的onActivityResult不被调用,怎么解决呢!!! #185

Closed DestingIceFire closed 7 years ago

DestingIceFire commented 7 years ago

MultiPickResultView在Fragment中的onActivityResult不被调用,怎么解决呢!!!

liuhaoliang commented 7 years ago

me too,but how to make it?

donglua commented 7 years ago

怎么说你们好。。

这个项目里没有 MultiPickResultView 这个东西

donglua commented 7 years ago

别人改的我不管呀 😕

hss01248 commented 7 years ago

哈哈,是我fork后改的那个.我明天看看

hss01248 commented 7 years ago

@DestingIceFire @MrUncle 试试看这个有没有用. http://blog.csdn.net/shuaihj/article/details/46663109 这个是同一个问题 https://github.com/donglua/PhotoPicker/issues/177

ps. 我项目中从来不用fragment,坑太多了.我向来是自己写代码把view包装成page,模仿activity加一些生命周期方法,这样控制权完全在自己手中,

hss01248 commented 7 years ago

我这个MultiPickResultView的onActivityResult方法是在activity中调用的, 如果不想改源码或者各级传引用的话,最简单的方法是不要用这个方法(汗),自己在activity里实现,反正也超简单.

@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    PhotoPickUtils.onActivityResult(requestCode, resultCode, data, 
     new    PhotoPickUtils.PickHandler() {
      @Override
      public void onPickSuccess(ArrayList<String> photos) {//已经预先做了null或size为0的判断
       //在这里拿到路径,然后用eventbus发过去,在fragment里接收一下,这样就不用管fragment多少层次了
      }

      @Override
      public void onPickFail(String error) {
        Toast.makeText(MainActivity.this,error,Toast.LENGTH_LONG).show();
      }

      @Override
      public void onCancle() {
        Toast.makeText(MainActivity.this,"取消选择",Toast.LENGTH_LONG).show();
      }
    });