Я разрабатываю ресторанную программу.У меня проблема.Теперь я расскажу вам о событиях, которые происходят при выборе товара
**. Приложение состоит из двух фрагментов.Название деятельности - «МасаДетай».FragmentOne зовут 'MasaUrunler', FragmentTwo зовут 'MasaAdisyon' **
Действия во фрагменте 'MasaUrunler'
- Я беру продукты из базы данныхс Volley, и я перечисляю их на экране благодаря RecycleView
- Я печатаю перечисленные продукты, и я выбираю количество, порцию и свойства этих продуктов в другой деятельности
- Я получаю все данныев функции onActivityResult
- Я отправляю данные, хранящиеся в массиве, в другой фрагмент
Во фрагменте 'MasaAdisyon' происходят следующие события
Я делаю события LayoutManager в onCreateView и привязываю адаптер и RecycleViewAdapter
Я смотрю на размер массива в функции getItemCount в RecyclerViewAdapter . На этом шаге новые данные не поступают в RecycleViewAdapter
MasaUrunler Kotlin Codes
var ADISYONLISTESI = ArrayList<AdisyonListesiBilgileri>()
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if(requestCode == 1){
var gecici = AdisyonListesiBilgileri(
data?.extras!!.getDouble("MIKTAR"),
data?.extras!!.getDouble("PORSIYON"),
data?.extras!!.getSerializable("URUNANABILGILERI") as UrunBilgileri,
data?.extras!!.getSerializable("SECILENOZELLIKLER") as ArrayList<secilenOzellikler>,
data?.extras!!.getSerializable("OZELLIKLISTESI") as ArrayList<UrunOzellikBilgileri>,
0,
0,
null,
null,
null
)
ADISYONLISTESI.add(gecici)
var bundle = Bundle()
bundle.putSerializable("ADISYONLISTESI",ADISYONLISTESI)
var masaAdisyon = MasaAdisyon()
masaAdisyon.arguments = bundle
var fragmentManager = getFragmentManager()
fragmentManager?.beginTransaction()?.detach(masaAdisyon)?.attach(masaAdisyon)?.commit()
}
}
Коды MasaAdisyon Kotlin
var adapter : MasaAdisyonListesiAdapter? = null
var ADISYONLISTESI = ArrayList<AdisyonListesiBilgileri>()
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
var thisView = inflater.inflate(R.layout.fragment_masa_adisyon, container, false)
var args = arguments
var layoutManager = LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false)
thisView?.findViewById<RecyclerView>(R.id.masaAdisyonListesiRecycle)?.layoutManager = layoutManager
adapter = MasaAdisyonListesiAdapter(ADISYONLISTESI)
if(args?.getSerializable("ADISYONLISTESI") != null){
ADISYONLISTESI = args?.getSerializable("ADISYONLISTESI") as ArrayList<AdisyonListesiBilgileri>
adapter?.notifyDataSetChanged()
}
thisView?.findViewById<RecyclerView>(R.id.masaAdisyonListesiRecycle)?.adapter = adapter
return thisView
}
inner class MasaAdisyonListesiAdapter(_ADISYONLISTESI : ArrayList<AdisyonListesiBilgileri>) : RecyclerView.Adapter<MasaAdisyonListesiAdapter.MasaAdisyonListesiViewHolder>(){
var ADISYONLAR = _ADISYONLISTESI
override fun getItemCount(): Int {
Log.e("ADISYONBOYUTU",ADISYONLAR.size.toString())
return ADISYONLAR.size
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MasaAdisyonListesiViewHolder {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
override fun onBindViewHolder(holder: MasaAdisyonListesiViewHolder, position: Int) {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
inner class MasaAdisyonListesiViewHolder(itemView : View) : RecyclerView.ViewHolder(itemView) {
}
}
** Я ожидаю ваших ответов для решения.Спасибо *