我有一个类型为EventBean的日期的向量,而显示我正在使用labelfield,它只显示向量中的最后一个值,覆盖所有其他数据:
for (int i = 0; i < vector.size(); i++) {
EventsBean bean1 = (EventsBean) vector.elementAt(i);
if (bean1.getUserDate().equals(label1.getText())) {
summaryLabel.setText("SUBJECT Saved");
labelListener.setText(bean1.getSummary());
startDateLabel.setText("START DATE Saved");
labelListener1.setText(bean1.getStartDate());
endDateLabel.setText("END DATE Saved");
labelListener2.setText(bean1.getEndDate());
}
标签在构造函数中创建为
labelListener = new LabelField("",
LabelField.FIELD_LEFT);
add(labelListener );
答案 0 :(得分:0)
您正在添加一些labelfields并在for循环中设置字段的文本。当循环运行时,它将为向量中的每个项设置labelfield。当循环结束时,labelfields将显示最后一项的文本,这显然会覆盖前一项的值。
答案 1 :(得分:0)
您需要在本地创建labelListener 请执行以下操作:
for (int i = 0; i < vector.size(); i++) {
EventsBean bean1 = (EventsBean) vector.elementAt(i);
if (bean1.getUserDate().equals(label1.getText())) {
LabelField labelListener=new LabelField();
summaryLabel.setText("SUBJECT Saved");
labelListener.setText(bean1.getSummary());
startDateLabel.setText("START DATE Saved");
labelListener1.setText(bean1.getStartDate());
endDateLabel.setText("END DATE Saved");
labelListener2.setText(bean1.getEndDate());
add(labelListener);
}