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);
}
}
}
}
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);
}
}
@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);
}
}
}
}