更新UI使用的方法(子线程配合主线程,连续更新UI),可直接运行:
private void getLux() {
final Handler handler =new Handler(Looper.getMainLooper());
new Thread(new Runnable() {
@Override
public void run() {
while (kg){
try {
// 在子线程中耗时操作(拿到光线强度)
final float lux =instance.getLux();
// 通过Handler切换到主线程更新UI
handler.post(new Runnable() {
@SuppressLint("SetTextI18n")
@Override
public void run() {
TextView.setText("光线强度:" +lux);
}
});
// 控制更新频率(100ms间隔)
Thread.sleep(100);
}catch (Exception e){
e.printStackTrace();
}
}
}
}).start();
}