gpt4 book ai didi

android - AlertDialog 未显示在 catch block 中

转载 作者:行者123 更新时间:2023-11-29 22:25:53 25 4
gpt4 key购买 nike

我正在尝试从网络上解析一些 XML 数据。大多数时候,XML 在我的应用程序中是干净的并且显示良好。这非常有效。我还想内置一些安全性,这样应用程序就不会在出现错误的 XML 时崩溃。

因此,当无法解析 XML 时,它会跳转到我的 catch block ,我会在其中继续执行此操作:

try {
Log.e("in try", "try");
/* Create a URL we want to load some xml-data from. */
URL url = new URL("http://172.21.150.140:80/scripts/cgiip.exe/WService=brAccentBe/Android/getVacatureDetails.html?Vacid=" + vacaid + "&Kantoorid=" + kantoorid);

System.out.println("Url " + url);
/* Get a SAXParser from the SAXPArserFactory. */
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();

/* Get the XMLReader of the SAXParser we created. */
XMLReader xr = sp.getXMLReader();
/* Create a new ContentHandler and apply it to the XML-Reader*/
vacatureDetailsWebservice vs = new vacatureDetailsWebservice();
xr.setContentHandler(vs);

/* Parse the xml-data from our URL. */
xr.parse(new InputSource(url.openStream()));
/* Parsing has finished. */

/* Our ExampleHandler now provides the parsed data to us. */
vaca = vs.getVacatures();


}
catch (Exception e) {
final AlertDialog.Builder builder = new AlertDialog.Builder(JobDetails.this);
builder.setTitle("Fout in XML");
builder.setMessage("Er is een fout opgetreden in de data. Probeer het later nog eens");
builder.setCancelable(false);
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
finish();
}
});
builder.create().show();
}

但对话框不会显示,该类继续运行并获取其他异常,因为未解析 XML。该方法在 onCreate 中调用。

有人看到我做错了什么吗?

最佳答案

请尝试下面的方法可能会起作用但不确定...

bool 值 = false;

尝试{

//你的代码

} catch (异常 e){

bol=真;

     if (bol){

final AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Fout in XML");
builder.setMessage("Er is een fout opgetreden in de data. Probeer het later nog eens");
builder.setCancelable(false);
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
finish();
}
});
builder.create().show();
}

关于android - AlertDialog 未显示在 catch block 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5990097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com