1
我有一個擴展MapActivity的主類,我打算在子類中創建警報對話框,但是我遇到了Context參數的錯誤。 這裏是我的Java代碼:如何在android的主類的子類中創建一個警告對話框?
公共類主要擴展MapActivity {
private MapView mapView;
private MapController mapController;
private GeoPoint geopoint;
public class MapOverlay extends Overlay {
@Override
public boolean onTouchEvent(MotionEvent event, MapView mapv){
if(event.getAction()==1){
GeoPoint p = mapv.getProjection().fromPixels(
(int) event.getX(),
(int) event.getY());
Toast.makeText(getBaseContext(), "Location: " +
p.getLatitudeE6()/1E6 + "," +
p.getLongitudeE6()/1E6, Toast.LENGTH_LONG).show();
AlertDialog ad = new AlertDialog.Builder(this).create();
ad.setCancelable(false); // This blocks the 'BACK' button
ad.setMessage("Hello World");
ad.setButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
ad.show();
}
return false;
}
}
}
的錯誤是:
構造AlertDialog.Builder(main.MapOverlay)是未定義!
我將此更改爲getBaseContext()
,但我遇到了強制關閉錯誤。