wen*_*igo 14 android android-intent android-fragments android-activity
我有一个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();
Run Code Online (Sandbox Code Playgroud)
在 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();
}
Run Code Online (Sandbox Code Playgroud)
在片段中调用startActivityForResult:
Intent dialogActivityIntent = new Intent(getActivity(), DialogActivity.class);
startActivityForResult(dialogActivityIntent, 999);
Run Code Online (Sandbox Code Playgroud)
在Activity和Fragment那个电话startActivityForResult:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
}
Run Code Online (Sandbox Code Playgroud)
当我单击按钮时,我只获得对话框取消并显示背景活动(片段).
没有任何呼叫onActivityResult,onResume......在Fragment或Activity包含Fragment.
为了实现onActivityResult在这两个,Fragment并Activity包含我Fragment.
我noHistory=true每个人Activity都设置了属性.
如果我finish()在onClick的Activity/Fragment调用DialogActivity过于封闭,应用程序返回到之前Activity.
这可能是问题,我不打电话finish()......但如果我打电话finish(),它会退出到另一个Activity,而不是Activity那个电话startActivityForResult.
startActivityForResult()不要调用onActivityResult(int requestCode,int resultCode,Intent data)?
无法触发onActivityResult()android?
startActivityForResult似乎没有调用onActivityResult
当Activity从Fragment开始时,不会调用onActivityResult()
我希望一切都清楚地解释^^.
提前致谢.
ash*_*hes 17
具有该属性的活动在启动新的via 时noHistory=true永远不会onActivityResult()被调用.正如文档所提到的,当属性设置为时,则在用户导航离开时调用.ActivitystartActivityForResult()noHistorytruefinish()ActivityActivity
因此,当startActivityForResult()被调用时,Activity导航离开,导致其finish()被调用并使其永远不会接到调用onActivityResult().如果除去noHistory=true从属性Activity说的呼唤startActivityForResult(),然后调用finish()你DialogActivity的onClick(),那么你还是应该看到Activity启动它,以及接收到呼叫onActivityResult().
| 归档时间: |
|
| 查看次数: |
24432 次 |
| 最近记录: |