Я пытаюсь создать приложение 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
rajashaker reddyy 16 Авг 2019 в 16:52

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
        }
}

Надеюсь это поможет.

0
PhilW 18 Авг 2019 в 16:16

Вы можете определить строковый массив в strings.xml

<string-array name="arr_fruits">
    <item>Apple</item>
    <item>Mango</item>
</string-array>

Получить этот массив внутри Activity

val fruits = resources.getStringArray(R.array.arr_fruits)
0
Hussain 16 Авг 2019 в 14:08