У меня есть код, в котором пользователь может открыть всплывающее окно, которое позволяет пользователю вводить 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
Нужна помощь во вставке данных в RecyclerView ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1715656363
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
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78475424/need-help-in-inserting-data-into-a-recyclerview[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия