просмотр экземпляра группы - PullRequest
0 голосов
/ 11 марта 2011

Я очень новичок в Android ... Может кто-нибудь дать мне знать, как я могу получить ручку на viewgroup?

Например:

У меня есть линейный макет в моем файле main.xml. Единственный способ, которым я смог добавить представления, это используя findViewById и указав идентификатор линейного макета. Я хочу разработать универсальный метод, который получает дескриптор для группы просмотра и выполняет такие функции, как getChildCount() и т.д ...

1 Ответ

0 голосов
/ 11 марта 2011

Вы можете сделать свой собственный подкласс макета и переопределить некоторые методы, такие как onFinishInflate(). Просмотр документации содержит некоторую информацию об этом, и вы найдете множество учебных пособий о том, как это сделать.

Это то, что я объясняю в одном из моих учебных пособий чтобы получить все проверяемые виды макета.

@Override
protected void onFinishInflate() {
    super.onFinishInflate();

    final int childCount = this.getChildCount();
    for (int i = 0; i < childCount; ++i) {
        findCheckableChildren(this.getChildAt(i));
    }
}

/**
 * Add to our checkable list all the children of the view that implement the
 * interface Checkable
 */
private void findCheckableChildren(View v) {
    if (v instanceof Checkable) {
        this.checkableViews.add((Checkable) v);
    }

    if (v instanceof ViewGroup) {
        final ViewGroup vg = (ViewGroup) v;
        final int childCount = vg.getChildCount();
        for (int i = 0; i < childCount; ++i) {
            findCheckableChildren(vg.getChildAt(i));
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...