我正在尝试构建一个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
答案 0 :(得分:0)
您可以在strings.xml
<string-array name="arr_fruits">
<item>Apple</item>
<item>Mango</item>
</string-array>
在Activity
val fruits = resources.getStringArray(R.array.arr_fruits)
答案 1 :(得分:0)
使用 resources.getStringArray 函数在strings.xml资源中提供一个字符串数组,以检索值。示例(请注意,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
}
}
希望这会有所帮助。