我有一个带有后退按钮方法的活动
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Log.d(TAG, "onOptionsItemSelected");
if (item.getItemId() == android.R.id.home)
onBackPressed();
Log.d(TAG, "onOptionsItemSelected: if executed");
return super.onOptionsItemSelected(item);
}
@Override
public void onBackPressed() {
closeDialog();
}
在从硬件上按后退按钮时向用户显示“警报对话框”是很好的方法。用户授予许可后,活动即告完成。但是,当用户单击工具栏上的向后箭头时,将显示该对话框,但是将调用活动onPause(),onStop()方法,并且由于可见“警报对话框”并且活动被杀死,因此存在窗口泄漏。
如何停止此问题?
注意:当我们不在清单文件中提供父活动时,不会发生这种情况!
[您应该在处理压力时从true
返回onOptionsItemSelected
(在您的if
盒内)。
现在,您无条件呼叫super.onOptionsItemSelected(item)
,这会在按回键时触发活动结束。