0

我正在动态创建一个文本框,我从服务器获取值,值可能是 5,有时是 10 等,所以我创建的文本框数量会有所不同..

在所有文本框创建之后。

页面中有一个更新按钮,当我单击此更新按钮时,用户可能在任何文本框中输入的任何更改都应该需要转到服务器..我无法做到..

下面是我创建文本框的代码

 public void fetchData(){
    public void onSuccess(ArrayList<Details> result) {
          for(int i =0;i<result.size();i++){


                name  = new TextBox();
                name.setText(result.get(i).getName());
                                    verticalPanel.add(name);
                                    namesList.add(name);
                                    }}

假设此时名称值为:admin 现在用户转到 UI 并将 admin 更改为 adminNew 然后单击更新按钮

这是我在更新按钮上所做的

                public void Update(){

                     for(int i =0;i<namesList.size(); i++){
         String updatedNanme = namesList.get(i).getText());
    }

}

现在,我将如何在 updatedName 字段中获取用户从 UI(即 adminNew)更改的更新名称。现在我得到了从 fetchData 方法获得的旧名称(即管理员)。

谢谢

4

2 回答 2

0

您应该通过调用 getText() 来获取文本框的值,而不是“旧值”。我认为您的文本框列表有问题。也许两次实例化文本框!我建议您调试代码,在文本框实例化和更新发生时设置断点。查看两者是否是同一个实例(例如,如果您使用 eclipse 观察变量,变量的 id 显示在它的前面。这是 VM 的对象 id。检查实例化的文本框的 id 是否相同作为文本框的 ID,您从中获得价值)

于 2012-11-08T07:37:11.237 回答
0

您是否可以使用用户条目覆盖文本框的内容?您的更新方法将始终将 updatedNanme 设置为您的 namesList 数组中最后一个元素的内容。以及如何访问 updatedNanme 字符串?此字符串仅在 for 循环中可用?

于 2012-11-08T09:48:03.480 回答