Access Arraylist от модели в Котлине - PullRequest
0 голосов
/ 18 октября 2019
import java.io.Serializable

class Restaurant(var resId : Int , var resName : String , var image : String , var locationName : String , var longitude : String , var email : String , var latittude : String, menu : ArrayList<Menu> , phone : List<String>) : Serializable

Как получить доступ к этому списку массивов меню

import java.io.Serializable
import java.util.ArrayList

open class Menu(var foodId : Int , var foodname: String ,var foodtype: String , var price: Int , var fooddetail: String ,var foodpicture: String ,var foodquantity: Int , var restuarantName: String , var foodCategory: ArrayList<FoodCategory>) : Serializable

Это класс адаптера, где я переправил код:

override fun onBindViewHolder(holder: ViewHolder, position: Int) {
        val restaurant = restaurantList[position]
        holder.resName.text = restaurantList[position].resName
        Glide.with(context).load(restaurantList[position].image)
            .into(holder.resImage)
        holder.locationName.text = restaurantList[position].locationName
        holder.rlrestaurant.setOnClickListener{
            val intent = Intent(context, MenuActivity::class.java)
            val bundle = Bundle()
            bundle.putSerializable("restaurantMenu", restaurant)
            intent.putExtras(bundle)
            Log.i("Check","abc")
            context.startActivity(intent)
        }
    }

Япопробуйте получить доступ к нему в меню действий как:

restaurant = intent.extras?.getSerializable("restaurantMenu") as? Restaurant

Но при этом я не могу получить доступ к списку меню Все остальные свойства доступны, кроме меню и телефона.

1 Ответ

0 голосов
/ 18 октября 2019

Добавить var или val в начале map и phone параметров,

data class Restaurant(var resId : Int, var resName : String, var image : String, var locationName : String, var longitude : String, var email : String, var latittude : String, var menu : ArrayList<Menu>, var phone : List<String>) : Serializable

После этого вы сможете получить к ним доступ,

val restaurant = intent.extras?.getSerializable("restaurantMenu") as? Restaurant
val map = restaurant.map
val phone = restaurant.phone
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...