У меня есть один горизонтальный менеджер полей. Я добавляю некоторые компоненты во время выполнения. Я хочу знать, какие компоненты я разместил в горизонтальном полемане. Может кто-нибудь дать мне представление о том, как найти, какие компоненты присутствуют в горизонтальном полевом менеджере. приветствует, s.kumaran.Blackberry - получить все дочерние поля управления
0
A
ответ
4
+1 Jan, но как насчет внутренних менеджеров? Некоторая рекурсия сделает это.
class Scr extends MainScreen implements FieldChangeListener {
HorizontalFieldManager mMainPanel;
VerticalFieldManager mVerticalPanel;
ButtonField mPrintButton;
public Scr() {
add(new LabelField("Title", FIELD_HCENTER));
mMainPanel = new HorizontalFieldManager();
add(mMainPanel);
mVerticalPanel = new VerticalFieldManager();
mMainPanel.add(mVerticalPanel);
for (int i = 0; i < 5; i++) {
HorizontalFieldManager hfm = new HorizontalFieldManager();
hfm.add(new LabelField("Label " + i, FIELD_LEFT));
hfm.add(new BasicEditField(FIELD_RIGHT));
mVerticalPanel.add(hfm);
}
mPrintButton = new ButtonField("Print Console All Fields",
ButtonField.CONSUME_CLICK | FIELD_HCENTER);
mPrintButton.setChangeListener(this);
add(mPrintButton);
}
private Field[] getAllFields(Manager manager) {
int cnt = manager.getFieldCount();
Field[] result = new Field[cnt];
for (int i = 0; i < cnt; i++) {
Field field = manager.getField(i);
result[i] = field;
if (field instanceof Manager) {
Field[] childFields = getAllFields((Manager) field);
result = appendArray(result, childFields);
}
}
return result;
}
private Field[] appendArray(Field[] target, Field[] source) {
for (int i = 0; i < source.length; i++) {
Arrays.add(target, source[i]);
}
return target;
}
public void fieldChanged(Field field, int context) {
if (mPrintButton == field) {
Field[] fields = getAllFields(getMainManager());
for (int i = 0; i < fields.length; i++) {
System.out.print("\nN " + i + "; Class: "
+ fields[i].getClass().getName());
}
}
}
}
1
Что-то, как это должно работать:
public Field[] getFieldsOfManager(Manager manager) {
Field[] fields = new Field[manager.getFieldCount()];
for(int i = 0; i < manager.getFieldCount(); i++)
{
fields[i] = manager.getField(i);
}
return fields;
}
Смежные вопросы
- 1. Найти все дочерние элементы управления в wpf
- 2. Получить все дочерние элементы LinearLayout
- 3. Получить все дочерние узлы javascript
- 4. Jstree получить все дочерние узлы
- 5. Селен получить все дочерние узлы
- 6. C# | Как получить все дочерние элементы ToolStrip?
- 7. Как получить дочерние элементы управления ListBox?
- 8. Django получить все дочерние дочерние модели, используя django queryset
- 9. Как получить дочерние объекты поля в Джанго
- 10. Получить все элементы управления winform?
- 11. Как найти все дочерние элементы управления в действии (Android)
- 12. Получить все дочерние элементы вложенного дерева рекурсивно
- 13. Как получить все дочерние элементы ввода
- 14. Получить все дочерние объекты в Scala
- 15. Sql Получить все дочерние элементы родителя
- 16. Android | Получить все дочерние элементы ViewGroup
- 17. Получить все дочерние контексты в NSManagedObjectContext
- 18. Получить все дочерние элементы своим родителем
- 19. База данных Firebase получить все дочерние
- 20. Получить объект и все дочерние объекты
- 21. Получить все дочерние элементы в списке LINQ
- 22. получить все дочерние представления внутри линейного макета
- 23. linq to xml получить все дочерние узлы
- 24. Получить все проверенные дочерние элементы Kendo Grid
- 25. jstree получить все дочерние узлы корня
- 26. Получить все дочерние узлы div, используя cheerio?
- 27. получить все дочерние узлы из JSON
- 28. Как получить все дочерние узлы из DOMDocument?
- 29. Получить все дочерние узлы из таблицы
- 30. Получить все равные поля