private void dataCollection() {
ArrayList<BreachHistoryData> responselist = SessionClass.getResponseList();
listView = (ListView) findViewById(R.id.breachHistoryLstView);
View header = (View) getLayoutInflater().inflate(R.layout.custom_breach_history_header, null);
listView.addHeaderView(header);
for (BreachHistoryData breachHistoryData : responselist) {
messageView= new MessageView[] { new MessageView(breachHistoryData.getDate(), breachHistoryData.getTime(),breachHistoryData.getBreachNo(),breachHistoryData.getFee(), null) };
}
CustomAdapter adapter = new CustomAdapter(this,R.layout.custom_breach_history_items, messageView);
listView.setAdapter(adapter);
在上面的代码中,我在响应列表中有大约100个值。但是,当我尝试 要在我的列表视图中添加这些值,它总是添加响应列表的最后一个值(ArraList)。当我打印值时它工作正常。但是将值添加到列表视图中只会出现一些问题。
先谢谢。
答案 0 :(得分:0)
这是因为你只有一个messageView,它正在重新用于你的arrayList中的每个元素。这意味着当for循环结束时,只有最后一项将在其中,这就是你的适配器只显示最后一项的原因。你需要一个messageView数组,或者在循环再次执行之前将每个消息视图添加到适配器。