Ответ 1
Доступ к строковым значениям в Kotlin работает точно так же, как и в Java, только с синтаксисом Kotlin:
val string: String = getString(R.string.your_string_id)
Как я могу получить доступ к значениям из strings.xml в Android Kotlin?
class MainActivity : AppCompatActivity(), View.OnClickListener {
override fun onClick(p0: View?) {
getToastCalled("")
TODO("not implemented")
}
private fun getToastCalled(message: String) {
TODO("not implemented")
}
var btn: Button? = null;
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
var tv_name=findViewById(R.id.tv) as TextView
btn=findViewById(R.id.button) as Button
tv_name.setText(KtTest().name);
(btn as Button).setOnClickListener([email protected])
}
}
Доступ к строковым значениям в Kotlin работает точно так же, как и в Java, только с синтаксисом Kotlin:
val string: String = getString(R.string.your_string_id)
Если вам нужно получить доступ ко всему массиву:
val data= resources.getStringArray(R.array.array_id)
Если вы хотите получить доступ к строке из контекста или действия (например, класса модели данных), вы можете достичь этого:
Resources.getSystem().getString(R.string.pay)
РЕДАКТИРОВАТЬ: Это только для общесистемных ресурсов, а не ресурсов приложений
Используйте формат - R.string.string_name
Ссылка на это явно, например:
R.string.loadingText,
Учитывая, что ваш XML файл имеет следующее как часть ресурсов:
<string name="loadingText">The actual text to be displayed</string>
Я решил эту проблему с помощью File> Invalidate Caches/Restart... в IDE, после чего я смог получить доступ к ссылкам представлений.
GL