我有正在运行的GPS服务,但我无法将当前位置与先前保存在数据库中的位置进行比较。应用程序运行正常,但是当我取出onLocationChange()中写的函数时,它会崩溃。
功能是:
LocationsDB db = new LocationsDB(this);
Cursor c = db.getAllLocations();
c.moveToFirst();
while(c.moveToNext()) {
arlist.add(c.getString(c.getColumnIndex("FIELD_LNG")));
arlistlat.add(c.getString(c.getColumnIndex("FIELD_LAT")));
}
for(int i=0;i<arlist.size();i++){
if(arlist.get(i)==Double.toString(location.getLongitude()) && arlistlat.get(i)==Double.toString(location.getLatitude())){
Intent myIntent=new Intent(GPSTracker.this,alarm.class);
startActivity(myIntent);
}
}
答案 0 :(得分:0)
请勿使用==
来比较String
而是使用.equal
或.match
这样的事情:
if(arlist.get(i)==Double.toString(location.getLongitude()) && arlistlat.get(i).equal(Double.toString(location.getLatitude()))){