Я пытаюсь создать приложение recyclerview, которое берет данные из файла strings.xml.
In the below code I hardcoded the name1 & name2, where I would like to get the content of name1 & name2 from the strings.xml file
val name1 = listOf<String>("lkjlkjlk","jkljlkjl","jlkjlkjl","jlkjlkj","jlkjlkj")
val name2 = listOf<String>("iuoiuoi","jkljlkjl","jlkjlkjl","jlkjlkj","jlkjlkj")
Please guide me in getting the name1 & name2 from the strings.xml file
2 ответа
Укажите строковый массив в ресурсах strings.xml, используя функцию resources.getStringArray для получения значений. Пример (обратите внимание, что MainActivity передается в качестве параметра для предоставления доступа к ресурсам):
package ...
import ...
class RecyclerNameAdapter (private val mainActivity: MainActivity): RecyclerView.Adapter<ListItemHolder>() {
val Name1Content: Array<String> = mainActivity.resources.getStringArray(R.array.name1)
val Name2Content: Array<String> = mainActivity.resources.getStringArray(R.array.name2)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ListItemHolder {
val itemView = LayoutInflater.from(parent.context)
.inflate(R.layout.recycler_name_layout, parent, false)
return ListItemHolder(itemView)
}
override fun getItemCount(): Int {
return Name1Content.size
}
override fun onBindViewHolder(holder: ListItemHolder, position: Int) {
holder.view.txtName1.text = Name1Content[position]
holder.view.txtName2.text = Name2Content[position]
}
}
}
class ListItemHolder (val view: View): RecyclerView.ViewHolder(view) {
init {
view.isClickable = false
}
}
Надеюсь это поможет.
Вы можете определить строковый массив в strings.xml
<string-array name="arr_fruits">
<item>Apple</item>
<item>Mango</item>
</string-array>
Получить этот массив внутри Activity
val fruits = resources.getStringArray(R.array.arr_fruits)
Похожие вопросы
Новые вопросы
android
Android — это мобильная операционная система Google, используемая для программирования или разработки цифровых устройств (смартфонов, планшетов, автомобилей, телевизоров, одежды, очков, IoT). Для тем, связанных с Android, используйте теги, специфичные для Android, такие как android-intent, android-activity, android-adapter и т. д. Для вопросов, отличных от разработки или программирования, но связанных с Android framework, используйте эту ссылку: https://android .stackexchange.com.