Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.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 视图索引到底是什么?当视图组将视图添加到索引-1时会发生什么_Java_Android - Fatal编程技术网

Java 视图索引到底是什么?当视图组将视图添加到索引-1时会发生什么

Java 视图索引到底是什么?当视图组将视图添加到索引-1时会发生什么,java,android,Java,Android,在试图理解上面的代码时,我遇到了一些让我难以理解的问题 1) 我不太确定调用parent.indexOfChild(v)得到的视图的索引到底是什么 2) 另外,我注意到parent.addView(rippleViewCreator,index)当视图的索引为-1并且视图被添加到父对象时,会发生什么情况?视图组可以包含子对象,并且索引会说明它是哪个对象 -1表示不存在的子级,因为它从0开始。如果没有子对象,则获取-1值并完成If语句 我不知道rippleViewCreator是什么,但它应该添加

在试图理解上面的代码时,我遇到了一些让我难以理解的问题

1) 我不太确定调用
parent.indexOfChild(v)
得到的视图的索引到底是什么


2) 另外,我注意到
parent.addView(rippleViewCreator,index)当视图的索引为-1并且视图被添加到父对象时,会发生什么情况?

视图组可以包含子对象,并且索引会说明它是哪个对象

-1表示不存在的子级,因为它从0开始。如果没有子对象,则获取-1值并完成If语句


我不知道rippleViewCreator是什么,但它应该添加一些视图。

视图组可以包含子对象,索引显示它是哪一个

-1表示不存在的子级,因为它从0开始。如果没有子对象,则获取-1值并完成If语句

我不知道rippleViewCreator是什么,但它应该添加一些视图

我不太确定一个视图的索引到底是什么 打电话给家长indexOfChild(v)

ViewGroup在内部为其子级保留一个
视图[]
indexOfChild(v)
是在该数组中对v的线性搜索。它返回v在其中占据的索引

当视图的索引为-1且视图为 添加到父级

如果未指定
索引
或将
-1
作为索引传递给Android将
mChildrenCount
作为索引,则在
mChildrenCount
等于数组长度的情况下调整内部数组的大小。出于性能原因,内部阵列的大小始终由内部因素调整

我不太确定一个视图的索引到底是什么 打电话给家长indexOfChild(v)

ViewGroup在内部为其子级保留一个
视图[]
indexOfChild(v)
是在该数组中对v的线性搜索。它返回v在其中占据的索引

当视图的索引为-1且视图为 添加到父级


如果未指定
索引
或将
-1
作为索引传递给Android将
mChildrenCount
作为索引,则在
mChildrenCount
等于数组长度的情况下调整内部数组的大小。由于性能原因,内部数组总是根据内部因素调整大小

嘿,感谢您的回答,答案非常清楚。然而,我对android和java有些陌生,所以你能给我解释一下什么是McChildrenCount吗?它只是ViewGroup的一个内部成员,负责计算数组中的实际视图数。数组的长度和视图的数量不同只是为了验证,当我传入-1时,viewgroup会调整其数组的大小以包含视图,并将新索引关联到该视图?如果McChildrenCount==internalArray.length,则会执行此操作。那么,如果McChildrenCount等于internalArray.length,为什么McChildrenCount会调整大小?我认为阵列只是想要足够大,可以容纳所有的视图。嘿,谢谢你的回答,答案非常清楚。然而,我对android和java有些陌生,所以你能给我解释一下什么是McChildrenCount吗?它只是ViewGroup的一个内部成员,负责计算数组中的实际视图数。数组的长度和视图的数量不同只是为了验证,当我传入-1时,viewgroup会调整其数组的大小以包含视图,并将新索引关联到该视图?如果McChildrenCount==internalArray.length,则会执行此操作。那么,如果McChildrenCount等于internalArray.length,为什么McChildrenCount会调整大小?我认为数组应该足够大,可以容纳所有的视图。
public static void addRippleToView(View v)
    {
        ViewGroup parent = (ViewGroup)v.getParent();
        int index = -1;
        if(parent != null)
        {
            index = parent.indexOfChild(v);
            parent.removeView(v);
        }
        RippleViewCreator rippleViewCreator = new RippleViewCreator(v.getContext());
        rippleViewCreator.setLayoutParams(v.getLayoutParams());
        if(index == -1)
            parent.addView(rippleViewCreator, index);
        else
            parent.addView(rippleViewCreator);
        rippleViewCreator.addView(v);
    }