JAVA fx 8列表视图更新

时间:2015-11-28 04:57:48

标签: java listview javafx-8

我有一个问题我想用我的ArrayList更新一个带有int值的ListView,并在每次值更改时更新它。它似乎很简单,但实际上我已经在网上停留了3个小时。如果它有帮助,那就是我的代码。

这是我在listview中添加数据的地方:

   public void setQuizModel(QuizModel model)
{

    this.quizModel = model;

    // this.antworten.bind(this.quizModel.getrichtigvalue());
    for (int i = 0; i < this.quizModel.getQuiz().size(); i++)
    {
        this.view.fillList("1. " + this.quizModel.getQuiz().get(i).getFragen() + " (Antworten: " + this.quizModel.getOAnswearlist().get(this.quizModel.getNumberq()) + ", davon richtig:" + this.quizModel.getORightlist().get(this.quizModel.getNumberq()) + " )");
    }

}

我的名单:

private ArrayList<Integer> antworten = new ArrayList<>();

private ObservableList<Integer> oantworten = FXCollections.observableArrayList(this.antworten);

private ArrayList<Integer> richtig = new ArrayList<>();

private ObservableList<Integer> orichtig = FXCollections.observableArrayList(this.richtig);

private ArrayList<Quiz> quizcollection = new ArrayList<>();

这就是我如何填充它们:

  for (int i = 0; i < this.quizcollection.size(); i++)
    {
        this.oantworten.add(new Integer(0));
        this.orichtig.add(new Integer(0));
    }

所以列表中的一个值会改变,我想更新listview(我认为它会自动通过观察列表列表)

  public void richtigincrement()
{
    this.orichtig.add(this.numberq, this.orichtig.get(this.numberq).intValue() + 1);
}

public void antwortincrement()
{

    this.oantworten.add(this.numberq, this.oantworten.get(this.numberq).intValue() + 1);

}

非常感谢所有的帮助 编辑: 在视图类中调用view.filllist来填充列表 public void fillList(String e) { this.list.getItems().add(e); }

下面是需要的3个类的代码http://pastebin.com/iDxuK0nk 问题是要更准确地定义它。 它是一个带有4个单选按钮的测验,每当我做一个安慰,他应该保存我试图回答这个问题的频率以及它是多么频繁。 2个阵列或Observ.Lists 1表示问题的总回答,1表示对该问题的正确回答。 如果我点击概述我会看到这个值,但问题是如果他们改变了,他没有改变他从列表视图中的数组中获得的值。

0 个答案:

没有答案