Android 自定义对话框-登录-返回按钮?
我正在尝试设置用户界面,用户在第一次使用应用程序时必须登录。自定义对话框似乎是一个很好的选择,因为我希望主UI在后台是可见的 所以,我所做的-我创建了主活动,并使用ShowDialog()和来自主活动的onCreateDialog 我创造 公共类LoginDialog扩展对话框实现View.OnClickListener 我可以像控制活动一样控制对话框中的所有内容 理想情况下,我喜欢检查用户是否登录了主活动,如果没有,则显示此对话框。否则就跟着活动走 在对话框中,我想让用户登录,如果用户在没有登录的情况下单击返回,我想检测它并完成主要活动。这就是我的问题所在Android 自定义对话框-登录-返回按钮?,android,Android,我正在尝试设置用户界面,用户在第一次使用应用程序时必须登录。自定义对话框似乎是一个很好的选择,因为我希望主UI在后台是可见的 所以,我所做的-我创建了主活动,并使用ShowDialog()和来自主活动的onCreateDialog 我创造 公共类LoginDialog扩展对话框实现View.OnClickListener 我可以像控制活动一样控制对话框中的所有内容 理想情况下,我喜欢检查用户是否登录了主活动,如果没有,则显示此对话框。否则就跟着活动走 在对话框中,我想让用户登录,如果用户在没有登
提前谢谢 您可以使用检测对话框解雇。在这个方法中,您还可以调用
MyActivity.this.finish()
要在登录过程中显示ProgressBar
,您可能需要查看。它显示了AsyncTask
的基本结构,您可以调整它以使用ProgressBar
而不是ProgressDialog
您可以使用bar.setVisibility(View.VISIBLE)
和bar.setVisibility(View.INVISIBLE)
在onPreExecute
和onPostExecute
中更改条形图的可见性
编辑
dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
dialog.dismiss();
if (!isLoggedIn()) {
MyActivity.this.finish();
}
}
});
无论您在何处创建对话框,此代码都应位于
MyActivity
中。您需要检查用户是否已登录,因为无论是用户还是您自己的代码关闭对话框,都将调用onDismiss
。@Matthew您能否向我展示如何使用(以及在何处使用)setondismissleener的示例。我找不到例子anywhere@Matthew. 是的,现在有了。我对所有这些处理程序都很慢(Java新手)。然而,IDE抱怨@Override,我认为不需要dialog.disclose()。无论如何,我完成了活动,所以子对话框将被分发,对吗?当我运行它时,这两种方式都能正常工作,我只是不确定我是否需要这两行。通常建议使用@Override来防止拼写错误。然而,我相信@Override for Interface(如上面的代码)只在Java6及以上版本中出现。@Matthew。哈,另一个问题:)显然,屏幕旋转时会调用onDismiss get。所以,一旦我在显示登录对话框时旋转屏幕,应用程序就会关闭。有没有办法妥善处理?或者至少只对对话框而不是整个应用程序防止屏幕旋转?我找到了防止方向改变的方法。谢谢