Context.resources.getIdentifier выдает исключение resourcesnotfoundExceptionAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Context.resources.getIdentifier выдает исключение resourcesnotfoundException

Сообщение Anonymous »

я использую

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

  val name = if (!formula.productName?.nameRes.isNullOrBlank()) {
stringResource(getStringResId(formula.productName?.nameRes!!))
} else if (!formula.productName?.name.isNullOrBlank()) {
formula.productName?.name
} else {
stringResource(R.string.common_empty_string)
}
Text(
text = name!!,
fontSize = textSize.nsp(),
color = Color.White,
textAlign = TextAlign.Center,
modifier = Modifier
.align(alignment = Alignment.TopCenter)
.offset(y = 124.dp)
)

@Composable
fun getImageResId(imageName: String): Int {
val context = LocalContext.current
return context.resources.getIdentifier(imageName, "drawable", context.packageName)
}

@Composable
fun getStringResId(stringName: String): Int {
val context = LocalContext.current
return context.resources.getIdentifier(stringName, "string", context.packageName)
}
чтобы найти ресурс.
но когда я удалю два класса из своего проекта, это вызовет это исключение

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

 android.content.res.Resources$NotFoundException: String resource ID #0x0
at android.content.res.Resources.getText(Resources.java:444)
at android.content.res.Resources.getString(Resources.java:537)
at
androidx.compose.ui.res.StringResources_androidKt.stringResource(Unknown Source:20)

Это те два класса, я почти уверен, что на них не ссылаются другие классы.

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

@Immutable
data class DrinksModel(
val productId: Int,
var type: ProductType,
@StringRes val name: Int,
@DrawableRes val imageRes: Int,
)

@Singleton
class HomeLocalDataSource @Inject constructor() {
val specialItem = mutableListOf(1, 3, 4, 11, 12)

val drinksTypes = listOf(
DrinksModel(
productId = 1,
type = ProductType.STEAM,
name = R.string.home_item_stop,
imageRes = R.drawable.home_stop_normal_ic
),
...
)
}
это настройки моего проекта

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

[versions]
agp = "8.4.0"
kotlin = "1.9.24"
ksp = "1.9.24-1.0.20"
coreKtx = "1.13.1"
hilt = "2.51.1"
Я просто хочу знать, почему, когда я удалю эти два класса, мое приложение получит исключение resourcesnotfoundException.

Подробнее здесь: https://stackoverflow.com/questions/793 ... dexception
Ответить

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

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

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

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

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