【问题标题】:Adding an object to List View将对象添加到列表视图
【发布时间】:2016-04-01 02:50:00
【问题描述】:

到目前为止还没有运气。一直在尝试将对象添加到我的列表视图中,但没有成功。添加后,即使我使用其他参数(例如等级和类别)设置对象,它也应该只显示作业的名称。这是代码被放置在一个片段java类中,输出列表视图

private void populateListView(){
    TeamArrayList = new ArrayList<CourseWorkItem>();
    CourseWorkItem myItem = null;
    myItem.setName("First Assignment");
    myItem.setCategory("Homework");
    myItem.setGrade(60);

    TeamArrayList.add(myItem);

    //creates an adapter
    itemArrayAdapter = new ArrayAdapter<CourseWorkItem>(this,R.layout.individualview,TeamArrayList);
    ListView v = (ListView) findViewById(R.id.courseListXML);
    v.setAdapter(itemArrayAdapter);

}

【问题讨论】:

    标签: android listview object arraylist


    【解决方案1】:

    你是否重写了 CourseWorkItem 的 toString 方法来显示名称?

    【讨论】:

    • 不,我没有。我应该删除那条线,以免引起混乱
    • 我有 CourseWorkItem 类的 getter、setter 和 1 个构造函数
    • 我认为您应该使用自定义适配器来显示项目。检查此链接 - stackoverflow.com/questions/8166497/…
    【解决方案2】:

    您使用的是默认数组适配器,那么您应该将值作为 String[] 传递,否则您应该为此创建一个自定义适配器

    试试这个默认数组适配器

    String[] strings=new String[]{"First Assignment","Second Assignment"}; 
        //creates an adapter
        itemArrayAdapter = new ArrayAdapter<CourseWorkItem>(this,R.layout.individualview,TeamArrayList);
        ListView v = (ListView) findViewById(R.id.courseListXML);
        v.setAdapter(itemArrayAdapter);
    

    【讨论】:

      猜你喜欢
      • 2020-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多