Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何通过代码更新单元格值?_Java_Gwt_Uibinder - Fatal编程技术网

Java 如何通过代码更新单元格值?

Java 如何通过代码更新单元格值?,java,gwt,uibinder,Java,Gwt,Uibinder,我有一个CellWidget(EditTextCell),我想通过代码手动设置一个特定的值。但是当我使用以下代码时,UI没有更新?我错过了什么 @UiField(provided = true) CellWidget<String> cell; cell.setValue(text, true); cell.redraw(); @UiField(提供=true) 细胞小部件细胞; cell.setValue(文本,true); cell.redraw(); 为了回答我自己的问题,

我有一个
CellWidget
EditTextCell
),我想通过代码手动设置一个特定的值。但是当我使用以下代码时,UI没有更新?我错过了什么

@UiField(provided = true)
CellWidget<String> cell;

cell.setValue(text, true);
cell.redraw();
@UiField(提供=true)
细胞小部件细胞;
cell.setValue(文本,true);
cell.redraw();

为了回答我自己的问题,我找到了一个解决方法:

    ((EditTextCell) cell.getCell()).clearViewData(KEY_PROVIDER.getKey(text));
    cell.getCell().setValue(new Context(0, 0, KEY_PROVIDER.getKey(text)), cell.getElement(), text);
    cell.setValue(text, true, true);

我不知道这是否是在单个cellwidget textcell上强制更新的正确方法,但至少它是有效的。

我不能100%确定您在这里想做什么。您正在尝试更新
单元格表中的特定单元格吗?在这种情况下,我不确定你的解决方案是否有效。如果只想刷新表中的数据,那么应该使用
数据提供程序
,然后只需更改它,UI也应该更改。如果您想使用表来响应用户事件(例如单击单元格),则应该查看