android - getChildCount() 返回错误的子级数

标签 android android-layout textview android-custom-view

我创建了一个带有 X 按钮的自定义 TextView,单击该按钮时其可见性设置为 GONE。现在我想获取 LinearLayout 中可见 TextViews 的数量。目前,我正在获取插入的 TextView 总数,而不是可见的数量。

示例:

当我有 2 个 TextView 时,getChildCount() 给出 2 但如果我通过单击 X 按钮删除一个 TextView,它仍然会给我 2。为什么会发生这种情况?

我创建了这样的东西:

It is a TextView

这里的 X 是一个按钮,其 onClick() 会将 TextViewButton 的可见性设置为 GONE。

最佳答案

how can I get the count of the visible children?

为此,您需要迭代 View /布局的子级并检查可见性。这是一个简单的循环:

// untested/pseudocode
int visibleChildren = 0;
for (int i = 0; i < layout.getChildCount(); i++) {
    if (layout.getChildAt(i).getVisibility() == View.VISIBLE) {
        visibleChildren++;
    }
}

关于android - getChildCount() 返回错误的子级数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17526350/

相关文章:

android - FrameLayout 中的叠加行为不正确

java - Android:为什么后续代码阻止 TextView 的 .setText() 工作

android - 为什么我在代码中运行 TextView.measure() 时得到的结果与我在屏幕上看到的呈现不同

android - Kotlin:如何在viewModel中观察一次liveData?使用ObserveForever()和removeObserver()

Android: 不可见的 Seekbar Thumb 在 Seekbar 中离开 "Hole"

Android 在通知时捕获事件(长按)

java - SSLException : Connection has been shutdown:Operation timed out,

android - 无法在textview Android中显示来自服务器的表情符号

java - 找不到 : org. gradle.api.internal.artifacts.ivyservice.ivyresolve.VersionInfo(java.lang.String) 的匹配构造函数

java - 如何用 picasso 随机加载图像