Нужна помощь во вставке данных в RecyclerViewAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Нужна помощь во вставке данных в RecyclerView

Сообщение Anonymous »

У меня есть код, в котором пользователь может открыть всплывающее окно, которое позволяет пользователю вводить 3 вещи и должен вставить его в recyclerView в 3 отсортированных столбца. Мне удалось заставить всплывающее окно работать, но всякий раз, когда я подтверждаю это, я сворачиваю это содержит представление корзины, но внутри ничего не показано
Что я пытаюсь создать
Проект для большей ясности
В частности, я пытаюсь получить код по адресу
// Initialize the RecyclerView
itemList = mutableListOf()
itemAdapter = ItemAdapter(itemList)
binding.dailyRecycler.layoutManager = GridLayoutManager(this, 3)
binding.dailyRecycler.adapter = itemAdapter

binding.dayAdd.setOnClickListener {
showPopup()
}
}
private fun showPopup() {
val dialogView = LayoutInflater.from(this).inflate(R.layout.popup_calculate, null)
val builder = AlertDialog.Builder(this)
.setView(dialogView)
.setTitle("Add Item")
.setPositiveButton("Add") { dialog, which ->
val itemName = dialogView.findViewById(R.id.editTextItem).text.toString()
val day = dialogView.findViewById(R.id.editTextDay).text.toString().toInt()
val price = dialogView.findViewById(R.id.editTextPrice).text.toString().toInt()
val newItem = Item(itemName, day, price)
itemList.add(newItem)
itemAdapter.notifyDataSetChanged()
}
.setNegativeButton("Cancel") { dialog, which ->
dialog.dismiss()
}
builder.show()
}
}

и это работает
// RecyclerView adapter
class ItemAdapter(private val itemList: MutableList) : RecyclerView.Adapter() {
// ViewHolder class
inner class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
private val itemNameTextView: TextView = itemView.findViewById(R.id.itemNameTextView)
private val dayTextView: TextView = itemView.findViewById(R.id.dayTextView)
private val priceTextView: TextView = itemView.findViewById(R.id.priceTextView)

fun bind(item: Item) {
itemNameTextView.text = item.itemName
dayTextView.text = item.day.toString()
priceTextView.text = item.price.toString()
}
}

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
val itemView = LayoutInflater.from(parent.context).inflate(R.layout.calculate_items, parent, false)
return ItemViewHolder(itemView)
}

override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
val currentItem = itemList[position]
holder.bind(currentItem)
}

override fun getItemCount() = itemList.size
}


Подробнее здесь: https://stackoverflow.com/questions/784 ... cyclerview
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»