我正在尝试在我的应用中显示一个警告框,当数字格式异常发生但由于某种原因应用程序崩溃
add.setOnClickListener(new View.OnClickListener(){
public void onClick(View arg0) {
// TODO Auto-generated method stub
try {
preRes = new Double(field1.getText().toString());
lastCommand = "+";
field1.setText("");
count = 0;
} catch (NumberFormatException e) {
show = new AlertDialog.Builder(mContext)
.setTitle("Error")
.setMessage("no inputs").setPositiveButton("OK", null).show();
}
}
});
答案 0 :(得分:0)
创建AlertDialog.Builder
AlertDialog alert = show .create();
alert.show();
答案 1 :(得分:0)
如果您获得空指针,请尝试使用new AlertDialog.Builder(getContext())..
或new AlertDialog.Builder(this)..
。您可能错过了初始化mContext
字段。
如果不起作用,请尝试
show = new AlertDialog.Builder(mContext)
.setTitle("Error")
.setMessage("no inputs").setPositiveButton("OK",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
captureImage();
}
}
).show();
答案 2 :(得分:0)
可能会抛出NumberFormatException
以外的未经检查的异常,例如NullPointerException
。
如果field1
或mContext
未正确初始化,则可能会抛出NPE。
无论如何,你需要让logcat工作,这样你才能调试问题。堆栈跟踪将指向错误发生的位置。
要在Eclipse中打开logcat,请转到Window>显示视图>其他......并选择logcat视图。
或者,您可以从Window>访问logcat视图。 Open Perspective>其他......并选择DDMS视角。
答案 3 :(得分:0)
我相信你必须先创建Builder才能开始设置属性。尝试这样的事情(假设show
是一个AlertDialog):
show = new AlertDialog.Builder(mContext).create();
show.setTitle("Error")
.setMessage("no inputs")
.setPositiveButton("OK", null)
.show();