将编辑文本存储到MutableList中



我正试图创建一个函数,在按下按钮时将3个editext值存储到对象中。这些对象存储在一个可变列表中,该列表将被返回并显示在可回收视图中。

fun getWish(): MutableList<Wish>{
val wishes : MutableList<Wish> = ArrayList()
add_button.setOnClickListener {
val name= name_input.getText().toString()
val price= price_input.getText().toString()
val url= url_input.getText().toString()
val wishTemp = Wish(name, price, url)
wishes.add(wishTemp)
print(wishTemp)
print(wishes)
}
return wishes
}
  1. 问题是该列表没有显示在recycleview中。回收视图适配器不是问题所在,因为它是使用测试列表进行测试的。我的实现不起作用吗?

  2. 打印函数显示的是参考值,而不是实际字符串。但是,每次按下按钮时,都会添加"愿望"列表。

RecyclerView中的新数据显示在哪里?您在这里所做的只是创建一个新列表并向其中添加一些Wish对象。您需要将这些内容添加到Adapter中的数据集,然后调用其中一个notify*方法来告诉它更新显示(如notifyDataSetChanged(。你还没有展示你在哪里做这件事,所以我们无法知道这个实现是否有效。

(无论如何,你可能想显示你的适配器代码,用一些数据初始化和稍后用其他数据更新是有区别的(

您获得了对print的引用,因为在猜测中,Wish是一个普通类,并且您还没有重写toString()方法,使其能够很好地打印字符串。如果您能使它成为数据类,它将为您提供一个打印构造函数参数值的默认实现。

最新更新