Два динамических c recylerView - PullRequest
0 голосов
/ 15 апреля 2020

я пытаюсь добавить элемент из recylerView в другой recylerView во время выполнения.

Это мои классы данных:

data class Speisen(var id:Int , var name:String, var preis:Double) {}

data class Customer (var id:Int,var speise:String) {}

В основном пытаюсь добавить имя класса данных Speisen к -> speisen в классе данных клиента

Это мой объект, в который я добавляю элементы моего Списка2

object Speisen_Items{

var Speisen = ArrayList<Speisen>()

fun addSpeisen(){
    Speisen.add(Speisen(2,"Pizza", 9.20))
}

}

и этот объект, где у меня есть функция добавления / удаления

object Bestellung : SingleChoiceRecyclerFragment() {

   var Kunden = ArrayList<Customer>() //DATA CLASS LIST


  fun addBestellung(i:Int, s:String) {
    Kunden.add(Customer(i,s))
      adapter.notifyDataSetChanged() //EXTENDS FOR notifyDataSetChanged

}

public fun remBestellung(i:Int, s:String)
{
    Kunden.remove(Customer(i,s))
    adapter.notifyDataSetChanged() //EXTENDS FOR notifyDataSetChanged
}

}

Я использую библиотеку, чтобы упростить выбор с помощью recylerView ,

Моя функция onViewCreated для списка Speisen выглядит следующим образом:

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)

    val adapter = SampleAdapter().apply {
        Speisen_Items.addSpeisen() //ADDING ITEMS
        items = Speisen_Items.Speisen //CALLING ITEMS
        choiceMode = ChoiceMode.MULTIPLE
    }

    recyclerView.adapter = adapter
}

Функция привязки моего List1, где я вызываю другой объект для добавления элементов в List2

    fun bind(speisen: Speisen, isToggled: Boolean) {
    sampleItemIndexTV.text = String.format("%d", speisen.id)
    sampleItemNameTV.text = speisen.name
    sampleItemTickIcon.visibility = if (isToggled) View.VISIBLE else View.GONE

    if(isToggled) {
        Toast.makeText(context, "Adding $speisen.name - $speisen.id", Toast.LENGTH_SHORT).show()
        addBestellung(speisen.id,speisen.name)
    }
    else {
        Toast.makeText(context, "Removing $speisen.name - $speisen.id ", Toast.LENGTH_SHORT).show()
        remBestellung(speisen.id,speisen.name)
    }
}

При добавлении / удалении я получаю тост вроде: Добавление Speisen (id = 2, name = Pizza, preis = 9.2) .name - Speisen (id = 2, name = Pizza, preis = 9.2 ) .speise и во втором списке recyclerView нет изменений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...