设置Activity对话框为不可取消。

5

我有一个在应用程序中使用的活动作为对话框(通过使用Theme.DialogstartActivity(dialogactivityintent))。但是,当用户按下所有Android手机上都有的返回按钮时,我不希望它关闭。我已经搜索了很多但找不到解决方案。

请帮忙解决一下。谢谢!

编辑:我尝试使用setCancelable(false),但无效。

3个回答

5

您可以使用以下代码:

将此行代码粘贴到setContentView(R.layout.main)下方

this.setFinishOnTouchOutside(false);

使用以下代码禁用返回键:

@Override
public void onBackPressed() {
}

这是正确的答案。我应该已经被批准了。在我的情况下它运行得很好。 - Karue Benson Karue

0

你需要使用这个方法:

setCancelable(false).

我尝试使用那个,但它显示错误无法解析方法。 - Chinmay Dabke
错误提示为:Gradle: error: cannot find symbol method setCancelable(boolean)。 - Chinmay Dabke
你能把你的Activity本身粘贴到pastie.org上吗? - KOTIOS
不行,因为我里面有很多组件和代码! - Chinmay Dabke
好的,您可以在此处查看示例:http://www.vogella.com/articles/AndroidDialogs/article.html - KOTIOS

0
通常情况下,如果您使用了对话框,应该使用以下方法:
  • setCanceledOnTouchOutside()
  • setCancelable()
但是,由于您使用了一个活动(activity),只需重写onBackPressed方法并在其中不执行任何操作即可。

谢谢您的快速回复。您能否给出您所建议的代码示例? - Chinmay Dabke
@Override public void onBackPressed() {} - Snicolas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接