Моя функция addMeal ожидает ресторан / YelpRestaurant (который был ранее выбран пользователем .. см. Изображения)
Как передать выбранный ресторан в ?? Надеюсь, что это очень просто, и я обдумываю это
Это мой первый kotlin android проект, поэтому извиняюсь за глупость. Пользователь выбирает ресторан Пользователь решает добавить мысль для этого конкретного ресторана Пользователь нажимает кнопку, и мысль / UserMeal добавляется в список "блюд" выбранного ресторана
Классы данных ____
data class YelpSearchResult(
@SerializedName ("total") val total: Int,
@SerializedName ("businesses") val restaurants: List<YelpRestaurant>
)
класс данных YelpRestaurant (
val name: String,
val rating: Double,
val price: String,
@SerializedName("review_count") val numReviews: Int,
@SerializedName("image_url") val imageUrl: String,
val categories: List<YelpCategory>,
val location: YelpLocation,
val meals: MutableList<UserMeals> = ArrayList()
)
класс данных UserMeals (val mealName: String, val mealPrice: Double, val едыThoughts: String)
Меня интересует только список блюд и класс данных UserMeals
class ThoughtsActivity : AppCompatActivity() {
lateinit var mealName : String
lateinit var mealPrice : String
lateinit var mealThought : String
lateinit var addedMeal : UserMeals
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_thoughts)
thoughtBtn.setOnClickListener() {
mealName = m_name.text.toString()
mealPrice = m_price.text.toString()
mealThought = m_thought.text.toString()
val addedMeal = UserMeals(mealName,mealPrice.toDouble(),mealThought)
if(mealName.isNotEmpty()){
addMeal()
}
val intent = Intent(this, RestaurantActivity::class.java)
intent.putExtra("MEALNAME", mealName)
intent.putExtra("PRICE", mealPrice)
intent.putExtra("MEALTHOUGHT", mealThought)
}
}
fun addMeal(restaurant: YelpRestaurant){
restaurant.meals.add(addedMeal)
}
----- EDIT- ----
---- Моя активность для среднего экрана, где проходит ресторан ----
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_restaurant)
val button = findViewById<Button>(R.id.addBtn)
// rvThoughts.adapter = adapter
// rvThoughts.layoutManager = LinearLayoutManager(this)
button.setOnClickListener{
val intent = Intent(this, ThoughtsActivity::class.java)
intent.putExtra("restaurantObject", <??>)
startActivity(intent)
}
var intent = intent
val aName = intent.getStringExtra("iName")
val aRating = intent.getDoubleExtra("iRating",0.0)
val aPrice = intent.getStringExtra("iPrice")
val aReviews = intent.getStringExtra("iReviews")
val aImageUrl = intent.getStringExtra("iImageUrl")
val aCategory = intent.getStringExtra("iCategory")
val aLocation = intent.getStringExtra("iLocation")
r_name.text = aName
r_reviews.text = aReviews
r_rating.rating = aRating.toFloat()
r_price.text = aPrice
r_reviews.text = aReviews.toString()
Glide.with(applicationContext).load(aImageUrl).into(r_image)
r_category.text = aCategory
r_address.text = aLocation
}