Мне нужно обновить некоторый пользовательский интерфейс и сделать это внутри потока пользовательского интерфейса с помощью runOnUiThread
Теперь данные для пользовательского интерфейса поступают из другого потока, представленного по данным
здесь.
Как я могу передать данные в Runnable, чтобы их можно было использовать для обновления пользовательского интерфейса? Android, похоже, не позволяет использовать данные напрямую. Есть ли элегантный способ сделать это?
public void OnNewSensorData(Data data) {
runOnUiThread(new Runnable() {
public void run() {
//use data
}
});
}
Мое решение заключалось в создании поля private Data sensordata
внутри исполняемого файла и назначении ему данных. Это работает только в том случае, если исходные Данные
являются окончательными.
public void OnNewSensorData(final Data data) {
runOnUiThread(new Runnable() {
private Data sensordata = data;
public void run() {
//use sensordata which is equal to data
}
});
}