我有一個列表框,我想添加一些項目。 只有將項目添加爲字符串的方法,但是 我想使用字符串和對對象的引用將項目添加到列表框。 因此,如果在列表框中選擇了一個項目,我也會得到對象引用。 否則,我一直在尋找正確的對象。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