【发布时间】:2011-07-01 18:28:56
【问题描述】:
我有一个活动,它一打开就打开一个对话框:
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mPath = new File(getIntent().getExtras().getString("START_PATH"));
FTYPE = getIntent().getExtras().getString("FILTER");
showDialog(DIALOG_LOAD_FILE);
}
我试图做到这一点,因此当用户单击后退按钮(仍在对话框中)时,整个活动都将退出。我有以下内容:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Intent resultIntent = new Intent();
resultIntent.putExtra("FILE_PATH", mPath.toString());
setResult(Activity.RESULT_OK, resultIntent);
finish();
}
return true;
}
如果对话框不再存在,这很好用,但如果对话框仍然处于活动状态,则不会被调用。想法?
【问题讨论】:
标签: android android-activity dialog back-button