GWT:我如何获得动态制作的文本框的更新值

时间:2012-11-08 06:43:19

标签: java gwt

我正在动态创建一个TextBox,我从服务器获取值,值可以是5,有时候是10等等,所以我创建的文本框中没有不同的颜色..

创建所有文本框后。

页面中有一个更新按钮,当我点击此更新按钮时,无论用户可能在任何textBox中输入了什么更改,都应该去服务器..我无法做到.. < / p>

下面是我创建textBoxes

的代码
 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 现在用户访问用户界面并将管理员更改为adminNew 然后单击“更新”按钮

这是我在更新Button上所做的事情

                public void Update(){

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

}

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

谢谢

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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