Hardcoded string, should use @string resource
Создаю приложение по туториалу, не могу повторить действие автора: возникла ошибка при создании двух tabItem внутри TabLayout в рамках ConstraintLayout: в коде выдается следующая ошибка - Hardcoded string "Days" (or "Hours"), should use @string resource. В чем заключается проблема, и как я могу решить ее?
Если кодом, то вот:
`
<com.google.android.material.tabs.TabLayout
android:id="@+id/tabLayout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:backgroundTint="@color/blueColor"
app:layout_constraintEnd_toEndOf="@+id/cardView"
app:layout_constraintStart_toStartOf="@+id/cardView"
app:layout_constraintTop_toBottomOf="@+id/cardView" >
<com.google.android.material.tabs.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hours" />
<com.google.android.material.tabs.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Days" />
</com.google.android.material.tabs.TabLayout>
`
Попутно перестает высвечивать макет экрана в режиме Design, а сами tabItem не показывает в дереве компонентов
Ответы (1 шт):
Это не ошибка, а предупреждение - собрать, запустить приложение и увидеть этот текст оно не помешает. Но в Андроид-приложении текст следует хранить в ресурсах (https://developer.android.com/guide/topics/resources/string-resource), для которых можно создавать альтернативы для разных языков (переводы) и конфигураций. При этом вы будете указывать идентификатор ресурса, а Андроид автоматически подставлять нужное, в зависимости от языка системы и других параметров. Вы можете в предупреждении кликнуть Extract string resource и студия вам поможет создать ресурс и заменит текст на его идентификатор.

