设置图库中视图的可见性 - Android

时间:2013-06-13 12:06:47

标签: android gallery


我已经扩展了android.widget.Gallery以添加一些功能。其中一个功能是我在某些情况下只需要显示某些项目。为此,这就是我所做的。

public void displayChildViews(Integer... indices) {

    boolean showAll = indices.length == 0;

    if (indices.length > this.getChildCount())
        throw new IllegalArgumentException(
                String.format(
                        "Number of indices (%d) cannot be larger then the gallery child count (%d)",
                        indices.length, this.getCount()));

    List<Integer> showIndices = Arrays.asList(indices);

    for (int i = 0; i < this.getCount(); i++) {
        int visibility = showAll || showIndices.contains(i) ? View.VISIBLE : View.INVISIBLE;
        this.getChildAt(i).setVisibility(visibility);
    }       
}

这是我的问题。首先,我尝试使用this.getChildCount()遍历子项,但它只返回了可见项目的数量(在我的例子中是图像),并且没有返回库中所有子项目的数量。所以为了解决这个问题,我使用this.getCount返回正确数量的子项(根据适配器)。问题是我需要设置所有子项的可见性,但this.getChildAt(i)返回可见子项的第i个子项,而不是具有正确索引的真项子项。现在任何人都可以获得真正的第i个孩子吗? 感谢

0 个答案:

没有答案