这有点奇怪,但也许有人有想法。
活动A打开活动B.在活动B中,按一个按钮,它应该关闭
返回活动A,然后关闭它。
然而,有时(可能是1到7次)活动B关闭但活动A仍然存在。
活动A
public void Foo() {
if (bIsVerifyClicked)
{
Intent intent = new Intent(ActivityA.this, ActivityB.class);
startActivityForResult(intent, 1000);
}
else
{
setResult(RESULT_OK);
finish();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.d(Logger.TAG, "=============requestCode: " + requestCode + " resultCode: " + resultCode);
if (resultCode == RESULT_OK)
{
setResult(RESULT_OK);
finish();
}
super.onActivityResult(requestCode, resultCode, data);
}
活动B
mNextButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d(Logger.TAG, "ActivityB ==== finish()");
setResult(RESULT_OK);
finish();
}
});
我认为活动B中可能存在内存泄漏,因此onResult会丢失或者其他内容,
但它是java,我没有看到任何奇怪的东西。
你有什么领导我应该寻找什么?
或者我怎样才能更好地调试它?
答案 0 :(得分:0)
我无法弄清楚确切的问题。
但是在你的代码中,我可以看到活动A 的onActivityResult(),不需要
setResult(RESULT_OK);
您可以直接完成()活动A.