0

我对android很陌生...谁能告诉我如何处理视图组?

例如:

我的main.xml文件中有一个线性布局。我能够添加视图的唯一方法是使用findViewById和指定线性布局的 id。我想开发一种通用方法,它可以处理视图组并执行诸如getChildCount() 等之类的功能...

4

1 回答 1

0

您可以创建自己的布局子类并覆盖一些方法,例如onFinishInflate(). View 文档有一些关于这方面的信息,你会发现很多关于如何做到这一点的教程。

这就是我在我的一篇教程中解释的以获得布局的所有 Checkable 视图。

@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));
        }
    }
}
于 2011-03-11T09:17:07.683 回答