如何使 ListView 的内容成为 ArrayList?

Posted

技术标签:

【中文标题】如何使 ListView 的内容成为 ArrayList?【英文标题】:How do you make the contents of a ListView an ArrayList? 【发布时间】:2016-04-01 14:28:55 【问题描述】:

我正在尝试创建一个待办事项列表 javafx 类,并且我正在使用列表视图来执行此操作,但我想使用我制作的数组列表来设置列表视图的内容。所以基本上,一旦我打开程序,你会得到一个文本字段和按钮来将项目添加到数组列表,即列表视图。无论如何,我可以用 listview 替换 arraylist 并直接将项目添加到其中?顺便说一句,我是一个新手程序员

package learning;

import java.util.ArrayList;


import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ListView;
import javafx.scene.control.TextField;

import javafx.stage.Stage;

public class ToDoList extends Application

        private ArrayList<String> doList=new ArrayList<>();
        private String text="";
    public void start(Stage primaryStage)
        primaryStage.setTitle("2DoList");

        TextField userTextField = new TextField();
        Button enter=new Button("Add");
        enter.setOnAction(new EventHandler<ActionEvent>() 

            @Override
            public void handle(ActionEvent e) 

                text= userTextField.getText();
               doList.add(text);
               userTextField.setText("");
               text="";
            
        );
        ListView<String> root=new ListView<String>((ObservableList)      doList);

        Scene scene=new Scene(root,250,500);
        primaryStage.setScene(scene);
        primaryStage.show();
    

    public static void main(String[] args) 
        launch(args);
    


【问题讨论】:

【参考方案1】:

创建一个ObservableList 而不是ArrayList

private ObservableList<String> doList = FXCollections.observableArrayList();

然后你就可以了

ListView<String> root=new ListView<String>(doList);

【讨论】:

谢谢!虽然当我这样做时,按钮和文本字段不可见。我该如何解决这个问题? 这是一个不同的问题。不过,您可能应该阅读一些教程,而不是为每个小步骤发布论坛问题。 如果有帮助,请将问题标记为正确。这将使其他用户更容易找到它。

以上是关于如何使 ListView 的内容成为 ArrayList?的主要内容,如果未能解决你的问题,请参考以下文章

如何使列表视图构建器在颤振中成为可重新排序的列表视图(优先任务应用程序(待办事项应用程序))

Android ListView 填充内容而不移动 ListView 高度?

Pyside 从一个 ListView 拖放到另一个

如何强制 ListView 忽略单击/不突出显示单击的项目?

Flutter ListView.builder 创建一个无限滚动。如何将其设置为在内容结束时停止?

如何使结果在 ListView 上可见?