我知道有类似的问题,但我的问题略有不同 我有这样的代码
Thread t = new Thread(){
public void run(){
while(!running) {
if(gpstracker.canGetLocation()) {
double lon = gpstracker.getLongitude();
double lat = gpstracker.getLatitude();
now = new LatLng(lat,lon);
if(change(now)==1)
running = true;
else
;
}
else {
gpstracker.showSettingsAlert();
}
}
}
};
在change(now)
我正在变换ui所以我的问题是如何从我的线程中更改UI?我已经阅读了关于处理程序od异步任务但我不认为他们在这种情况下是好的,或者我可能不知道如何使用它们,任何建议?
答案 0 :(得分:5)
现在你可以做的改变
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public void run() {
// your ui code here
}
});
答案 1 :(得分:1)
您可以使用此活动方法:
YourActivity.this.runOnUiThread(new Runnable() {
@Override
public void run(){
//Your awesome code here
}
});