我有一个生成电话位置的类,它会在每次检索到新位置时更新一个 TextView。我们将这个类命名为 Track。
Track 类包含一个 sendLocation 对象,它是一个 Thread。sendLocation 包含一个 Track 对象,它每 x 一次检查 TextView 是否已更改(Track 类有一个返回 TextView 字符串的方法),如何?
它将最后一个地址保存在一个字符串中,并每 x 次比较最后一个地址和文本视图地址,如果它们不同,它会将这个字符串发送到我的数据库。我这样做是为了避免重复。
我的问题是,它为什么一直向我的数据库发送相同的地址?我的意思是比较字符串非常简单。这是一些代码:
if(!t1.getAddress().equals(lastAddress))
{
lastAddress = t1.getAddress();
//send last address to the db
//sleep for a while
}
t1 是一个 Track 实例。
这是 Track 中的 getAddress 方法:
public String getAddress()
{
return this.mAddress.getText().toString();
}
怎么了?这是一个简单的字符串比较!