fragmentでonActivity Resultは呼び出されません

3620 ワード

Activityで

public class VehicleDetailActivity extends BaseCommonActivity {


    private VehicleInfoDetailFragment mInfoDetailFragment;

    @Override
    protected int getContentViewId() {
        return R.layout.activity_detain_detail_manager_view;
    }

    @Override
    protected void onViewCreated(Bundle savedInstanceState) {
        super.onViewCreated(savedInstanceState);
        mInfoDetailFragment = VehicleInfoDetailFragment.newInstance(mEditType);
        VehicleImageDetailFragment imageDetailFragment = VehicleImageDetailFragment.newInstance();
        fragmentList.add(mInfoDetailFragment);
        fragmentList.add(imageDetailFragment);
        titleList.add(getResources().getString(R.string.vehicel_detailinfo_list));
        titleList.add(getResources().getString(R.string.vehicel_detailinfo_img));
        CommonFragPagerAdapter adapter = new CommonFragPagerAdapter(getSupportFragmentManager(), fragmentList, titleList);
        mViewPager.setAdapter(adapter);

        mTabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
            @Override
            public void onTabSelected(TabLayout.Tab tab) {
                TextView textView = (TextView) LayoutInflater.from(VehicleDetailActivity.this).inflate(R.layout.tab_item, null);
                textView.setTextColor(getResources().getColor(R.color.c_1890FF));
                textView.setText(tab.getText());
                textView.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
                tab.setCustomView(textView);
            }

            @Override
            public void onTabUnselected(TabLayout.Tab tab) {
                tab.setCustomView(null);
            }

            @Override
            public void onTabReselected(TabLayout.Tab tab) {

            }
        });

        mTabLayout.setupWithViewPager(mViewPager);

        mIvBack.setOnClickListener(v -> onBackPressed());
        mViewPager.setOffscreenPageLimit(2);
    }

    //  :  fragment
    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        mInfoDetailFragment.onActivityResult(requestCode, resultCode, data);
    }
}

fragment:


@Override
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    if (resultCode == Activity.RESULT_OK) {
        if (mBaseActivityType == BaseActivityType.SCAN) {
            IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
            if (result != null) {
                if (result.getContents() == null) {
                    Toast.makeText(mActivity, "Cancelled", Toast.LENGTH_LONG).show();
                } else {
                    updateScanResult(result.getContents());
                    Toast.makeText(mActivity, "Scanned: " + result.getContents(), Toast.LENGTH_LONG).show();
                }
            } else {
                super.onActivityResult(requestCode, resultCode, data);
            }
        } else if (mBaseActivityType == BaseActivityType.ALBUM) {
            if (requestCode == REQUEST_CODE_CHOOSE) {
                L.e("OnActivityResult ", String.valueOf(Matisse.obtainOriginalState(data)));
                List obtainResult = Matisse.obtainResult(data);
                List obtainPathResult = Matisse.obtainPathResult(data);
                updateAlbumListData(obtainResult, obtainPathResult);
            }
        }
    }
}