如何使 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 高度?
如何强制 ListView 忽略单击/不突出显示单击的项目?