Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 线性布局上的听众_Java_Android - Fatal编程技术网

Java 线性布局上的听众

Java 线性布局上的听众,java,android,Java,Android,我正在动态地向线性布局添加和删除视图s 我想检查一下,每当线性布局的孩子数量发生变化时,是否有这样一个监听器?看看 将它的onChildViewAdded()和onchildvieweremoved()方法与计数器一起使用,以跟踪视图组的子计数 您可以在活动中执行以下操作: private childCount; // ... @Override protected void onCreate(Bundle savedInstanceState) { // ... fin

我正在动态地向
线性布局添加和删除
视图
s

我想检查一下,每当
线性布局的孩子数量发生变化时,是否有这样一个监听器?

看看

将它的
onChildViewAdded()
onchildvieweremoved()
方法与计数器一起使用,以跟踪
视图组的子计数

您可以在
活动中执行以下操作:

private childCount;

// ...

@Override
protected void onCreate(Bundle savedInstanceState) {

    // ...

    final LinearLayout layout = (LinearLayout) findViewById(R.id.yourLayout);

    childCount = layout.getChildCount();

    layout.setOnHierarchyChangeListener(new ViewGroup.OnHierarchyChangeListener() {
        @Override
        public void onChildViewAdded(View parent, View child) {
            childCount++;
          //childCount = layout.getChildCount(); //a safer but slower approach
        }

        @Override
        public void onChildViewRemoved(View parent, View child) {
            childCount--;
          //childCount = layout.getChildCount();
        }
    });
}
(只是一个粗略的例子,您可能需要根据需要实现计数器逻辑)