У меня есть DialogActivity
, который вызывается из Fragment
для отображения пользовательского Dialog
с двумя кнопками изображения.
В DialogActivity.onCreate
final Dialog dialog = new Dialog(this, R.style.DialogTheme);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.dialog_pause);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
dialog.show();
В DialogActivity.onClick
@Override
public void onClick(View v) {
Log.d(LOGTAG, "onClick CONTINUE");
Intent resultData = new Intent();
resultData.putExtra("TEST", "return data");
setResult(666, resultData);
dialog.cancel();
}
В фрагменте, который вызывает startActivityForResult
:
Intent dialogActivityIntent = new Intent(getActivity(), DialogActivity.class);
startActivityForResult(dialogActivityIntent, 999);
В Activity
и Fragment
, который вызывает startActivityForResult
:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
}
Когда я нажимаю кнопку, я только отменяю диалог и показывает фоновую активность (фрагмент).
Нет вызова onActivityResult
, onResume
,... в Fragment
или Activity
содержит Fragment
.
Вещи, которые я пробовал:
Чтобы реализовать onActivityResult
в обоих, Fragment
и Activity
, который содержит мой Fragment
.
Что нужно знать:
Я устанавливаю атрибут noHistory=true
в каждом Activity
, который у меня есть.
Если я делаю finish()
в onClick
, то Activity/Fragment
, вызывающий DialogActivity
, тоже закрывается, и приложение возвращается к Activity
.
Это может быть проблема, я НЕ звоню finish()
... но если я вызываю finish()
, он выходит на другой Activity
, а не Activity
, который вызывает startActivityForResult
.
Ссылки, которые я проверил:
Не удается запустить onActivityResult() android?
startActivityForResult, похоже, не вызывает onActivityResult
onActivityResult никогда не вызывается
Android onActivityResult никогда не вызывал
onActivityResult() не вызывается, когда активность запущена из фрагмента
Я надеюсь, что все ясно объяснено ^^.
Спасибо заранее.