【问题标题】:How to add a string into javafx ListView?如何将字符串添加到 javafx ListView?
【发布时间】:2020-01-21 15:42:42
【问题描述】:

我正在尝试将我作为字符串获得的结果添加到 ListView 容器中,因为我认为我的结果应该在要添加的 ArrayList 中,但我无法将它们转换!这是messageArrived方法The method add(ArrayList<Wallet>) in the type List<ArrayList<Wallet>> is not applicable for the arguments (String)add下面出现的错误@

任何建议将不胜感激。

public class MainController implements MqttCallback   {
@FXML
private ListView<ArrayList<Wallet>> RoomA;

 @Override
public void messageArrived(String topic, MqttMessage message) throws Exception {
    String attemptMessageJson = message.toString();
    Wallet rfidObject = gson.fromJson(attemptMessageJson, Wallet.class);        
    RoomA.getItems().add(rfidObject.getWalletName()); // error explained above
     }
}

【问题讨论】:

  • 与您的问题无关:请学习 java 命名约定并遵守它们。正如您在上一个问题中已经建议的那样 - 现在
  • 还有:如果你不明白错误信息,是时候学习一些基本的java了:这里是泛型(提示:你只能将指定的类型添加到列表中)
  • 我想你误解了 ListView 的 type 参数的作用。您是否希望 ListView 中的每个可选项目都是一个钱包集合? 还是希望 ListView 中的每个项目都是一个 Wallet?

标签: java user-interface javafx


【解决方案1】:

Wallet 添加到列表中,并使其toString 返回您想要显示的内容。

还有ListView&lt;ArrayList&lt;Wallet&gt;&gt; 应该只是ListView&lt;Wallet&gt;

【讨论】:

  • 不,永远不会出于应用原因覆盖 toString - 而是使用显示属性的自定义单元格
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-06
  • 2017-03-09
  • 2023-04-03
相关资源
最近更新 更多