如何通过自定义适配器将项目的ArrayList填充到ListView?

时间:2019-04-01 08:31:34

标签: java android listview arraylist

我有一个ArrayList项,每个项包含2个字符串和1个按钮。当我使用列表存储项目时,它运行良好。在我更改为ArrayList来存储项目之后,模拟器显示了一个空白屏幕。

MainAcativity:

SELECT STR_TO_DATE('200442 Monday', '%X%V %W');
  -> '2004-10-18'

适配器:

SELECT 
    STR_TO_DATE('2019-04 Monday', '%X-%V %W') AS `start`, 
    DATE_ADD(STR_TO_DATE('2019-04 Monday', '%X-%V %W'), INTERVAL 7 DAY) AS `end`

2 个答案:

答案 0 :(得分:1)

ArrayList<ListItem> items = new ArrayList<ListItem>();
  for(int i = 0; i < items.size(); i++) {
  int num = i + 1;
  ListItem l = new ListItem("Item " + num, "sub item " + num);
  items.add(l);
}

您要实例化一个新的ArrayList,它开始为空,然后尝试遍历空列表,并且for循环不会运行。

如果只需要数字列表,请尝试以下操作:

ArrayList<ListItem> items = new ArrayList<ListItem>();
  for(int i = 0; i < 100; i++) {
  int num = i + 1;
  ListItem l = new ListItem("Item " + num, "sub item " + num);
  items.add(l);
}

答案 1 :(得分:0)

没有数据,如何生成列表项。

ArrayList<ListItem> items = new ArrayList<ListItem>();
        for(int i = 0; i < items.size()/*size is 0,loop is not running*/; i++) {...

插入一些数据,例如:

public void mainlist(){
        ArrayList<ListItem> items = new ArrayList<ListItem>();
        items.add(new ListItem("str1","str2"));
        ListView el=(ListView)findViewById(R.id.eventlist);
        MyArrayAdapter myArrayAdapter = new MyArrayAdapter(this, items);
        el.setAdapter(myArrayAdapter);
    }