- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用以下内容
org.eclipse.jface.viewers.CheckboxCellEditor.CheckboxCellEditor(Composite parent)
我正在使用 cellEditors 创建一个表格查看器并执行以下操作
CellEditor[] editors = new CellEditor[columnNames.length];
editors[7] = new CheckboxCellEditor(table);
我有一个具有以下内容的 CellModifier
public Object getValue(Object element, String property) {
Object result = null;
...
result = Boolean.valueOf(task.isDfRequested());
return result;
}
public void modify(Object element, String property, Object value) {
item.isSelected(((Boolean)value).booleanValue());
}
最后我有一个具有以下内容的 LabelProvider
public String getColumnText(Object element, int columnIndex) {
String result = "";
try {
result = Boolean.toString(item.isSelected());
} catch (Exception ex) { }
break;
但是,在我的 UI 中,我没有复选框,而是显示 true 或 false 一词,并且单击它会导致将状态切换为 false 或 true。关于为什么我没有复选框有什么想法吗?
最佳答案
我在 CheckboxCellEditor
类的源代码中进行了搜索,在构造函数中,与 CellEditor 关联的控件是在 createControl(Compositeparent)
方法中创建的。该方法在 CellEditor
类中是抽象的,在 CheckboxCellEditor
中实现如下:
protected Control createControl(Composite parent) {
return null;
}
因此未创建控件,这就是您看不到该复选框的原因。在该类的文档中,您可以阅读:
Note that this implementation simply fakes it and does does not create any new controls. The mere activation of this editor means that the value of the check box is being toggled by the end users; the listener method applyEditorValue is immediately called to signal the change.
我使用包含 yes 和 no 项目的 ComboBoxCellEditor 解决了这个问题。
问候。
关于java - CheckboxCellEditor 显示文本而不是复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1395910/
我是一名优秀的程序员,十分优秀!