Activity內的Fragment跳轉到一個Activity後返回重新整理的過程
阿新 • • 發佈:2022-04-05
其實可以理解為跳轉後再帶值回來的過程,話不多說,先上程式碼
1、首先是Fragment中跳轉的程式碼,跳轉碼是11,這個11後面帶回來的時候要判斷的。
Intent intent = new Intent(this.getActivity(),MainActivity2.class); this.getActivity().startActivityForResult(intent,11);
2、Activity正常 finish()回來。
3、Fragment所屬的Activity重寫 onActivityResult方法,重寫下面的所有的Fragment的方法
@Overrideprotected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); Log.d(TAG, "onActivityResult: "+requestCode); if(getSupportFragmentManager().getFragments()!=null&&getSupportFragmentManager().getFragments().size()>0){ List<Fragment> fragments = getSupportFragmentManager().getFragments(); for(Fragment mfragment:fragments){ mfragment.onActivityResult(requestCode,resultCode,data); } } }
4、實現Fragment中的onActivityResult方法,將requestCode等資訊傳過來,那個11就是這個requestCode值
@Overridepublic void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); Log.d(TAG, "onActivityResult: "+requestCode); }