-2

我有一个带有 EventBean 类型日期的向量,而显示时我正在使用一个标签字段,它只显示向量中的最后一个值,覆盖所有其他数据:

    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 );
4

2 回答 2

0

您正在添加一些标签字段并在 for 循环中设置字段的文本。当循环运行时,它将为向量中的每个项目设置标签字段。当循环结束时,标签字段将包含最后一项的文本,这显然会覆盖前一项的值。

于 2012-03-15T15:36:43.283 回答
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);
}
于 2012-03-16T05:37:05.010 回答