Объект начинает содержать нольAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Объект начинает содержать ноль

Сообщение Anonymous »

У меня есть приложение для Android, которое имеет несколько простых действий, которые показывают состояние устройства пользователя и дюжина фоновых коратей, которые поддерживают подключения с аппаратным и Интернетом. Представьте, что Android Device-это просто устройство интерфейса человека, которое показывает кому-то, каково текущее состояние машины и позволяет переключать его в режим обслуживания, если это необходимо. < /P>
Все компоненты подключены с использованием общего объекта с переменными и механизмами синхронизации потоков, таких как некоторые случаи, что я вижу все дни, все в некоторых случаях (однажды я вижу все дни). В возврат объекта null.
У меня есть таймер , который опробовал поля объекта, разбирает данные и обновляет TextView (в потоке пользовательского интерфейса, конечно).

Код: Выделить всё

StateController.kt
:

Код: Выделить всё

object StateController {
var params : DeviceParameters = DeviceParameters()
var hardwareCompat : MyHardwareCompat? = null
var interfaceApp : InterfaceAppCompat? = null
...
}
< /code>
DeviceParameters.kt
:

Код: Выделить всё

class DeviceParameters {
var terminalSerial : String = "unknown"
set(value) {
if (field != value) {
field = value
informDiagnosticUpdate()
}
}

var controllerSerial : String = "unknown"
set(value) {
if (field != value) {
field = value
informDiagnosticUpdate()
}
}

val printableSerial : String
get() {
var serial = controllerSerial
if (serial == "" || serial == "unknown") {
serial = terminalSerial
}
return serial
}
...
}
< /code>
Activity:
    // Context: Called from onInit()
StateController.terminalSerial = "SomeText1"
StateController.controllerSerial = "SomeText2"

Timer().schedule(delay = 100, period = 1000) {
runOnUiThread {
...
findViewById(R.id.serial)?.text = StateController.printableSerial
...
}
}
< /code>
Note: Timer()
используется для простоты. Я воспроизвел ту же проблему с StateFlow Collect , которая обновляла все поля в соответствии с значениями StateController . StateController, но я не знаю, как устранить эту проблему.>

Подробнее здесь: https://stackoverflow.com/questions/795 ... tain-nulls
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»