我正在尝试在方法中添加警报对话框,但出现错误,并且不确定原因。我是Java / Android的新手,所以它可能很简单。我的以下代码检查用户的位置,以确保它位于特定区域内,如果存在,它将开始跟踪用户。如果它不在定义的位置内,我希望弹出一个警报对话框,通知用户将不会对其进行跟踪。我在下面指定的行上收到错误The constructor AlertDialog.Builder(new LocationListener(){}) is undefined
。
locListener = new LocationListener() {
public void onLocationChanged(Location loc) {
String lat = String.valueOf(loc.getLatitude());
String lon = String.valueOf(loc.getLongitude());
Double latitude = loc.getLatitude();
Double longitude = loc.getLongitude();
if (latitude >= 39.15296 && longitude >= -86.547546 && latitude <= 39.184901 && longitude <= -86.504288) {
Log.i("Test", "Yes");
CityActivity check = new CityActivity();
check.checkDataBase(usr);
SendLocation task = new SendLocation();
task.execute(lat, lon, usr);
}
else {
Log.i("Test", "No");
AlertDialog alertDialog = new AlertDialog.Builder(this).create(); //ERROR OCCURS HERE
alertDialog.setTitle("Reset...");
alertDialog.setMessage("Are you sure?");
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// here you can add functions
}
});
alertDialog.setIcon(R.drawable.icon);
alertDialog.show();
}
}
如果有人知道我在做什么错以及如何解决它,我将不胜感激。谢谢
最佳答案
AlertDialog alertDialog = new AlertDialog.Builder(YourClassName.this).create();
要么
AlertDialog alertDialog = new AlertDialog.Builder(getApplicationContext()).create();
因为
this
引用您的LocationListener
,而不是您的课程Object