我将如何重写Dialog的onBackPressed关闭对话框以及调用finish()在Activity它位于?
ina*_*ruk 56
你可以使用setOnCancelListener:
dialog.setOnCancelListener(new DialogInterface.OnCancelListener()
{
@Override
public void onCancel(DialogInterface dialog)
{
MyActivity.this.finish();
}
});
Run Code Online (Sandbox Code Playgroud)
您只需要完成您的活动.对话框将自动被解雇.
小智 24
dialog.setOnKeyListener(new DialogInterface.OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
dialog.cancel();
return true;
}
return false;
}
})
Run Code Online (Sandbox Code Playgroud)
@Override
public Dialog onCreateDialog(Bundle savedInstanceState){
return new Dialog(getActivity(), getTheme()){
@Override
public void onBackPressed(){
// dismiss();
// activityReference.finish();
}
};
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23348 次 |
| 最近记录: |