我有一个应用程序,必须创建一个数据库,如果失败了,那么没有任何意义前进。我已经构建了一个AlertDialog和show()
它,但它从不显示。由于缺少数据库,逻辑贯穿始终,然后落入酒吧。什么是停止活动并提醒用户的最佳方式?
发出消息并暂停活动的正确/最佳方式是什么?下面的代码执行得很好(意味着show()
出现在调试过程中,并落在下一行),但UI从不显示此警报。顺便说一句 - 我意识到这个扔可能不是最优美的,但我甚至没有那么远...... B ^)。
try {
myDBHelp.createDataBase();
} catch (IOException ioe) {
new AlertDialog.Builder(this).setCancelable(false)
.setMessage(ioe.getMessage())
.setTitle("Database Create Failed")
.setPositiveButton("Quit", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
throw new Error("Unable to create database - please try uninstall/reinstall");
}
})
.show();
使用敬酒当然是有效的,但我想知道如果我会有同样的问题。问题是用户界面没有显示我的对话框之前,它呕吐。结果,重写的onResume()在对话框显示之前执行,并且在那里失败,因为代码期望数据库。如果没有以前的错误,我必须放入一个布尔值并且只测试/执行相关的代码。一旦onResume()完成,对话框显示。我非常确定,一旦我保护了onResume()代码,Toast就可以工作。谢谢。 – teachableMe 2010-09-05 13:16:44