我希望用户通过可编辑文本输入数据,我希望通过自定义列表视图接收该数据,因为我试图使用自定义适配器通过{{1}将文本字段添加到我的列表视图中我已将数据从可编辑的textview转换为字符串,我将该字符串添加到自定义适配器,但我遇到类型不匹配错误,在此之前我将字符串添加到基本适配器并且listview正常填充,我做错了什么?
User.java
tostring()
todoFragment.java
public class User {
public String itemView;
public User(String itemView) {
this.itemView = itemView;
}
}
答案 0 :(得分:0)
您的变量toDo
是一个字符串,而您的ArrayAdapter adapter
的类型为User
。因此,当您尝试调用adapter.add()
时,适配器需要一个User
对象,但您传递的是一个字符串。
在我看来,你真的不知道自己究竟在做什么。截至目前,代码结构意味着ArrayAdapter中的每个项目都是自己的用户,并拥有自己的项目。您应该做的是创建一个User
对象,其中包含ArrayList<String>
来保存所有待办事项。您的ArrayAdapter应该扩展ArrayAdapter<String>
并将待办事项列表传递给适配器,而不是用户列表。
答案 1 :(得分:0)
您正在向adapter
对象添加字符串类型,该对象扩展了ArrayAdapter
类型的User
,这就是您遇到类型不匹配错误的原因,只需设置值{{1} }到您的todo
Objet,然后将对象添加到User
。希望这对你有帮助。