添加到可变列表(NPE)Kotlin Android时出错



---数据类---

尝试将对象添加到膳食中可变列表-------------------------------------------------------------------------------------------------------------------------------------------------

data class 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>

)

----编辑活动----

class ThoughtsActivity : AppCompatActivity() {
lateinit var mealName: String
lateinit var mealPrice: String
lateinit var mealThought: String
lateinit var selected_Restaurant : YelpRestaurant
val meals = mutableListOf<UserMeals>()
@Subscribe(sticky = true)
fun getRest(selectedRestaurant : YelpRestaurant)  {
selected_Restaurant = selectedRestaurant
}
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()
var addedMeal = UserMeals(mealName, mealPrice.toDouble(), mealThought)
if (mealName.isNotEmpty()) {
selected_Restaurant.meals.add(addedMeal)
}
}
}

override fun onStart() {
super.onStart()
EventBus.getDefault().register(this)
}
override fun onStop() {
super.onStop()
EventBus.getDefault().unregister(this)
}

}

访问selected_Restaurant.meals时有空指针异常,以防止NPE将meals更改为val,并在selected_Restaurant:中这样声明时实例化它

val meals = mutableListOf<UserMeals>()

最新更新