3 回答
TA贡献1809条经验 获得超8个赞
像这样创建你的列表
// modify your adapter class like this
Context context;
ArrayList<my_todo> myDoes;
public DoesAdapter(Context c, ArrayList<my_todo> p) {
context = c;
myDoes = p;
}
// create list in your activity
ArrayList<my_todo> list=new ArrayList<>();
list.add(new my_todo("title","date","desc","key"));
// pass list to adapter class
new DoesAdapter(this,list);
TA贡献1868条经验 获得超4个赞
您的问题的原因是您在使用ArrayList
时没有指定泛型类型,这意味着当您从列表中获取元素时它将是Object
而不是my_todo
,您可以通过添加您希望列表为的泛型类型来简单地解决此问题:
改为ArrayList myDoes;
_List<my_todo> myDoes;
和构造函数参数List<my_todo> p
。
请注意,我使用List
而不是ArrayList
,因为它是更抽象的类型,最好的做法是始终使用在给定情况下可能的最抽象类型。
更新:
我很乐意向您解释泛型的工作原理,但这会导致答案很长,鉴于您是初学者,我建议您查找一些 Java 书籍或在线课程,其中大部分涵盖泛型、它们的工作原理以及如何使用它们,还有您可以从 Oracle 本身阅读本教程
TA贡献1799条经验 获得超6个赞
尝试将您声明ArrayList myDoes
为ArrayList<my_todo>
myDoes 并在您的 Adapter 构造函数参数中声明。只有ArrayList
你有一个ArrayList
类型Object
。
添加回答
举报