在Fragment中怎么调用onActivityResult

xiaoxiao2021-02-28  63

前言:

我们都知道在activity中通过onActivity可以接收另一activty关闭时传回的requestCode、resultCode和data等,但是我们的大多数操作是在fragment中实现的,那么,我们又应该怎么样在fragment中调onActivityResult呢?

第一步:

在使用fragment的activity上这样操作 @Override protected void onActivityResult(int requestCode, int resultCode, Intent intent) { super.onActivityResult(requestCode,resultCode,intent); Fragment fragment = RepairFragment.getInstance(); fragment.onActivityResult(requestCode,resultCode,intent); } 其中Fragment fragment = RepairFragment.getInstance();这句的意思是找到相对应的fragment,也可以通过fragment管理器 Fragment f = fragmentManager.findFragmentByTag(curFragmentTag);

第二步

在要调用onActivityResult的fragment上执行相对应的操作 @Override public void onActivityResult(int requestCode,int resultCode,Intent intent) { super.onActivityResult(requestCode,resultCode,intent); switch(requestCode){ case REQUEST_CODE_GALLERY: if(resultCode == RESULT_OK){ imgList.clear();// for(int i = 0; i<= Album.parseResult(intent).size()-1; i++){ imgList.add(Album.parseResult(intent).get(i)); } adapter.notifyDataSetChanged(); } break; } }

提示一点,在acitvity中传递Context时我们可以用this,那如果是在fragment中呢?我们就可以用getActivity()来代替

转载请注明原文地址: https://www.6miu.com/read-72303.html

最新回复(0)