警报对话框消失。没有给我机会做出选择。当m == null ||时,假设该对话框会弹出m.getPosition()== null。 " M"是变量" Marker m"
Option Explicit
Sub HideWorksheets()
Dim ws As Worksheet
Application.ScreenUpdating = False
' Hide all except activeone
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> ThisWorkbook.ActiveSheet.Name Then ws.Visible = xlSheetHidden
Next
' Unhide selected worksheets
For Each ws In ThisWorkbook.Windows(1).SelectedSheets
ws.Visible = xlSheetVisible
Next ws
Application.ScreenUpdating = True
End Sub
答案 0 :(得分:0)
你必须使用调试模式检查这个地方
,
这里只有问题。
答案 1 :(得分:0)
首先,您正在检查错误的情况,请参阅
if(m == null || m.getPosition() == null)
1。如果m为null,那么当您在空对象上调用 getPosition()时,第二个条件将抛出 NullPointerException 。
首先,您将 If 语句设为正确,然后以下代码将适用于您的方案。
new AlertDialog.Builder(this)
.setTitle("Really Exit?")
.setMessage("Are you sure you want to exit, without creating a marker?")
.setNegativeButton(android.R.string.no, null)
.setCancelable(false)
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
}).show();
要检查场景中的Marker,最好创建一个类似这样的方法:
private boolean isMarkerAvailable() {
if (m == null)
return false;
else if (m.getPosition() == null)
return false;
return true;
}
if (!isMarkerAvailable()) {
// Show your alert here or you can toggle
// the condition whatever is apropriate in your scenario
}