В моем фрагменте onActivityResult не вызывающему после startActivityForResult .Как я попытался следующие вещи: 1) добавление getParentFragment, getActivity перед тем startActivityResultне onActivityResult называется в Фрагмент
2) добавлены на манифеста Android: configChanges = "ориентация | Размер экрана»
3) onActivityResult is not being called in Fragment
4) Проверено покрытие() в ZbarScanner активность
Intent dataIntent = new Intent();
dataIntent.putExtra(SCAN_RESULT, symData);
dataIntent.putExtra(SCAN_RESULT_TYPE, sym.getType());
setResult(Activity.RESULT_OK, dataIntent);
finish();
5) error- [ResultInfo {кто = NULL, запрос = 196609, результат = -1, данные = {Намерение (имеет дополнительные услуги)}}]} проверено намерение имеет значение не нулевое, который мы проходим
if (isCameraAvailable()) {
Intent intent = new Intent(this.getActivity(), ZBarScannerActivity.class);
intent.putExtra(ZBarConstants.SCAN_MODES, new int[]{Symbol.QRCODE});
startActivityForResult(intent, 1);
Toast.makeText(getActivity(), "inside case", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getActivity(), "Rear Facing Camera Unavailable", Toast.LENGTH_SHORT).show();
}
---- onActivityResult ------
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Bundle bundle = data.getExtras();
switch (requestCode) {
case ZBAR_SCANNER_REQUEST:
case ZBAR_QR_SCANNER_REQUEST:
if (resultCode == getActivity().RESULT_OK) {
Toast.makeText(getActivity(), "Scan Result = " + data.getStringExtra(ZBarConstants.SCAN_RESULT), Toast.LENGTH_SHORT).show();
} else if (resultCode == getActivity().RESULT_CANCELED && data != null) {
String error = data.getStringExtra(ZBarConstants.ERROR_INFO);
if (!TextUtils.isEmpty(error)) {
Toast.makeText(getActivity(), error, Toast.LENGTH_SHORT).show();
}
}}
Поскольку мы не заменить его. Мы вызываем этот фрагмент следующим образом в классе вкладок. MyAdapter extends FragmentPagerAdapter { public MyAdapter (FragmentManager fm) { super (fm); } @Override общественности Фрагмент GetItem (целое положение) { переключатель (положение) { случай 0: возвратить новый FirstFragment(); case 1: return new SecondFragment(); case 2: вернуть новый ThirdFragment(); } null null; }, так есть ли способ вызвать фрагмент, как вы упомянули выше? –