MapActivity を拡張するメイン クラスがあり、サブクラスで警告ダイアログを作成しようとしていますが、Context パラメータのエラーが発生しました。ここに私のJavaコードがあります:
public class main extends 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()
、強制終了エラーが発生しました。