我有一个列表框,我想添加一些项目。 只有将项目添加为字符串的方法,但是 我想使用字符串和对对象的引用将项目添加到列表框。 因此,如果在列表框中选择了一个项目,我也会得到对象引用。 否则,我一直在寻找正确的对象。Gwt列表框项目引用对象
因此有什么选择吗?
我有一个列表框,我想添加一些项目。 只有将项目添加为字符串的方法,但是 我想使用字符串和对对象的引用将项目添加到列表框。 因此,如果在列表框中选择了一个项目,我也会得到对象引用。 否则,我一直在寻找正确的对象。Gwt列表框项目引用对象
因此有什么选择吗?
您可以将该对象存储在由该项目的值索引的Map中,或者存储在列表框中添加项目的索引处的数组或列表中。
尝试ValueListBox
而不是ListBox
。
这是一个老问题,但由于最优雅的回答是还没有在这里:
// Applicable for an object of specified type 'User'
ValueListBox<User> lbUser = new ValueListBox<User>(new Renderer<User>() {
public String render(User user) {
String s = "";
if (user != null) {
// Specify the format for the Strings to display per list item here. In this example, it is
// 'username (firstname lastname)'
// For example: MTielemans (Mark Tielemans)
s = user.getUsername() + "("+user.getFirstname()+" " + user.getLastname()+")";
} else {
s = "Select a user";
}
return s;
}
public void render(User user, Appendable appendable) throws IOException {
String s = render(user);
appendable.append(s);
}
});
目前我有对象的矢量。 现在我想添加一个ListBox。 –
ph09
如果将矢量与列表框保持平行,当在列表框中选择索引i处的项目时,可能会在矢量中获取索引i处的对象。 –
sry我贴得太快;) 此刻我有一个矢量的对象。 现在我想将它们添加到列表框中。 当在ListBox中选择了某些东西时,我想获取Object而不是String。 类似于:mylistbox.add(String name,MyObject myObject)。或者你是这样意思的: int i = myListbox.getSelectedItem(); Myobject object = MyObjectVector.elementAt(i) –
ph09