我正在使用黑莓插件,我正在使用黑莓富豪榜。 我想让列表出现的次数与数据库表中的条目数相同。 我正在使用下面的代码,但它在 ListView 中只显示一个名字。 我需要将数据库中的所有条目显示到 ListView 中...请帮助我..
我已经用过list.add();在 for 循环内,但它显示异常:java.lang.IllegalStateException:字段已添加到管理器,而它已经是父级。
public static void richlistshow(){
String name = null;
list = new RichList(mainManager, true, 2, 0);
Bitmap logoBitmap = Bitmap.getBitmapResource("delete.png");
delete = new BitmapField(logoBitmap, Field.FIELD_HCENTER);
for (int c = 0; c < target_list.size();c++){
City tar_city = new City();
tar_city = (City)target_list.elementAt(c);
name = tar_city.get_city_name().toString();
}
//adding lists to the screen
list.add(new Object[] {delete,name,"time-date"});
}
最佳答案
您没有发布正在使用的完整代码。但是下面的代码可能会帮助您摆脱 IllegalStateException
。您为每个列表条目添加了相同的 BitmapField
实例,这导致了异常。
public static void richlistshow() {
final Bitmap logoBitmap = Bitmap.getBitmapResource("delete.png");
list = new RichList(mainManager, true, 2, 0);
for (int c = 0; c < target_list.size(); c++) {
// create a new BitmapField for every entry.
// An UI Field can't have more than one parent.
final BitmapField delete = new BitmapField(logoBitmap, Field.FIELD_HCENTER);
City tar_city = (City) target_list.elementAt(c);
final String name = tar_city.get_city_name().toString();
// add to list
UiApplication.getUiApplication().invokeLater(new Runnable() {
public void run() {
list.add(new Object[] { delete, name, "time-date" });
}
});
}
}
关于java - 将数据库中的多个值添加到 Rich List Blackberry,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10547321/