Комната Android 2.7.2 - Ключ 1855838 отсутствует на картеAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Комната Android 2.7.2 - Ключ 1855838 отсутствует на карте

Сообщение Anonymous »

Я получаю эту ошибку в комнате: < /p>
Fatal Exception: java.util.NoSuchElementException
Key 1855838 is missing in the map.
kotlin.collections.MapsKt__MapWithDefaultKt.getOrImplicitDefaultNullable (MapWithDefault.kt:24)

kotlin.collections.MapsKt__MapsKt.getValue (Maps.kt:370)
android.persistence.phonelines.ConnectedUserDao_Impl.getFullConnectedUsersFlowByOrderNr$lambda$6 (ConnectedUserDao_Impl.kt:342)
android.persistence.phonelines.ConnectedUserDao_Impl.$r8$lambda$43VE92PoOM1yQT3OPmuzeuKB5FM
android.persistence.phonelines.ConnectedUserDao_Impl$$ExternalSyntheticLambda2.invoke (D8$$SyntheticClass)
androidx.room.util.DBUtil__DBUtil_androidKt$performSuspending$lambda$1$$inlined$internalPerform$1.invokeSuspend (DBUtil.kt:68)
< /code>
Это мой полный объект: < /p>
data class FullConnectedUser(
@Embedded
val user: ConnectedUser,

@Relation(
parentColumn = "phoneLineOid",
entityColumn = "oid"
)
private val _phoneLines: List,

@Relation(
parentColumn = "associatedAddressableOid",
entityColumn = "oid"
)
private val _addressables: List
)
< /code>
my connectuser: < /p>
@Entity(tableName = "connected_users")
data class ConnectedUser(
@PrimaryKey
val oid: String,

val phoneLineOid: String,
val associatedAddressableOid: String,

val isIncoming: Boolean,
val isOutgoing: Boolean,

val editable: String,
val orderNumber: Int
)
< /code>
my phoneline: < /p>
@Entity(tableName = "phone_lines")
data class PhoneLine(
// Phone line OID
@PrimaryKey
val oid: String,

val associatedAddressableOid: String,
val userPhoneLineOid: String,

val commonName: String,
val externalNumber: String,
val callerName: String,
val unreadRecentContactsCount: Int,

val fetchedUntil: String
)
< /code>
он сбои в последней строке здесь: < /p>
_tmpUser = ConnectedUser(_tmpOid,_tmpPhoneLineOid,_tmpAssociatedAddressableOid,_tmpIsIncoming,_tmpIsOutgoing,_tmpEditable,_tmpOrderNumber)
val _tmpPhoneLinesCollection: MutableList
val _tmpKey_2: String
_tmpKey_2 = _stmt.getText(_columnIndexOfPhoneLineOid)
_tmpPhoneLinesCollection = _collectionPhoneLines.getValue(_tmpKey_2)
< /code>
Я предполагаю, потому что они извлекаются отдельно: < /p>
viewModel.viewModelScope.launch(coroutineExceptionHandler) {
kotlin.runCatching { viewModel.fetchPhoneLines() }
kotlin.runCatching { viewModel.fetchConnectedUsers() }
}
< /code>
Как я могу это избежать?
Примечание Я могу реплицироваться проще, если я открываю фрагмент и быстро нажимаю, потому что в моем сочинении у меня есть: < /p>
val connectedUsersListState: List by viewModel.getFullConnectedUsersFlowByOrderNr().collectAsState(initial = emptyList())
< /code>
, который делает: < /p>
@Query("SELECT * FROM connected_users ORDER BY orderNumber")
fun getFullConnectedUsersFlowByOrderNr(): Flow


Подробнее здесь: https://stackoverflow.com/questions/797 ... in-the-map
Ответить

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

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

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

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

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