在按钮中点击显示对话框,调用的代码:
// 选择图形:Ploygon, line, point
public void selectGeometry(View view) {
showDialog(0);
}
showDialog是Activity的一个方法,这个方法会显示onCreateDialog方法定义的对话框。
下面是onCreateDialog方法的具体定义:
protected Dialog onCreateDialog(int id) {
return new AlertDialog.Builder(this).setTitle("Select Geometry").setItems(geometryTypes, new DialogInterfaceClickListener()).create();
}
其中DialogInterfaceClickListener 类定义如下:
class DialogInterfaceClickListener implements DialogInterface.OnClickListener{
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
graphicsLayer.removeAll();
// ignore first element
Toast toast = Toast.makeText(getApplicationContext(),
"", Toast.LENGTH_LONG);
toast.setGravity(Gravity.BOTTOM, 0, 0);
// Get item selected by user.
String geomType = geometryTypes[which];
lblMsg.setText(geomType + " selected.");
selectedGeometryIndex = which;
// process user selection
if (geomType.equalsIgnoreCase("Polygon")) {
myListener.setType("POLYGON");
toast.setText("Drag finger across screen to draw a Polygon. \nRelease finger to stop drawing.");
} else if (geomType.equalsIgnoreCase("Polyline")) {
myListener.setType("POLYLINE");
toast.setText("Drag finger across screen to draw a Polyline. \nRelease finger to stop drawing.");
} else if (geomType.equalsIgnoreCase("Point")) {
myListener.setType("POINT");
toast.setText("Tap on screen once to draw a Point.");
}
toast.show();
}
}